表空间基于时间点的恢复

步骤:
1.检测和解决对要恢复的表空间有依赖关系的对象问题
select *
  from sys.ts_pitr_check
 where (ts1_name = ‘UERS‘ and ts2_name != ‘USERS‘)
    or (ts1_name != ‘USERS‘ and ts2_name = ‘USERS‘);
如果有依赖约束,可以考虑disable掉约束;或者同时还原依赖对象所在的表空间

2.检测哪些对象不会被还原
如果有些表,在还原后还需要存在,可以使用数据泵等工具导出,等表空间还原后再导入
select owner, name, tablespace_name
  from ts_pitr_objects_to_be_dropped
 where tablespace_name = ‘USERS‘
   and creation_time >
       to_date(‘2015-06-19 15:00:00‘, ‘YYYY-MM-DD HH24:MI:SS‘);

3.在磁盘上创建一个目录,作为辅助目录
mkdir /tmp/auxx

辅助目录的空间大小要足够大

4.运行recover tablespace until命令
RMAN> connect target /
RMAN> recover tablespace users until time "to_date(‘2015-06-19 15:00:00‘, ‘YYYY-MM-DD HH24:MI:SS‘)" auxiliary destination ‘/tmp/auxx‘;

5.备份已经还原的表空间,并将表空间置于online状态
RMAN> backup tablespace users;
RMAN> sql ‘alter tablespace users online‘;

基于时间点的恢复在以下场景不可行:
·表空间包含sys用户的数据
·表空间含有undo segments 或者 rollback segments
·已经被删除的表空间
·表含有内嵌表或者含有varray列
·表是外部表
·表含有快照日志

时间: 2024-08-09 10:43:52

表空间基于时间点的恢复的相关文章

基于时间点的恢复

由于误操作,删除了一张表,那么基于时间点的恢复是没有用的,因为日志里还存在着一些误操作,我们需要恢复到误操作之前的状态,然后跳过误操作,再恢复后面的语句,完成最后的恢复 1 如果10点发生误操作 mysqlbinlog --stop-date='2015-06-15 9:59:59' mysql-bin.000015 | mysql -uroot -p test 2 跳过故障时间点,进行后面的恢复 mysqlbinlog --start-date='2015-06-15 10:00:01' my

MySQL实现基于时间点的恢复

前期说明:我每天指定了数据库凌晨1点做全备,这天有人一不小心,删除了某个数据库里面的一个表,需要恢复,怎么弄? 参考 :http://blog.csdn.net/zhaoyangjian724/article/details/48715321 1  确认log_bin是否打开 mysql> show global variables like 'log_bin';  +---------------+-------+  | Variable_name | Value |  +----------

使用 mysqldump 实现 MySQL 5.7 基于时间点的恢复

创建测试数据全备数据库 mysqldump --single-transaction --flush-logs --master-data=2 --all-databases --triggers --routines --events --set-gtid-purged=off> backup.sql 再新增测试数据删除表中所有数据确认最近一次备份后的二进制日志保存文件 确认删除数据的时间点 mysqlbinlog --base64-output=decode-rows -v mysql01-

RMAN基于表空间的不完全恢复(TSPITR)

RMAN基于表空间的不完全恢复(TSPITR) 表空间时间点恢复(TSPITR):概念 通过执行TSPITR 可将一个或多个表空间快速恢复到以前的某个时间. 执行TSPITR 不会影响数据库中其它表空间或对象的状态. 使用RMAN 自动表空间时间点恢复(TSPITR) 可将Oracle DB 中的一个或多个表空间快速恢复到以前的某个时间,而不会影响数据库中其它表空间和对象的状态. 表空间时间点恢复(TSPITR):术语 目标时间:表空间恢复到的时间点或SCN 恢复集:组成要恢复的表空间的数据文件

[转]Oracle DB 执行表空间时间点恢复

• 列出在执行表空间时间点恢复(TSPITR) 时会发生的操作 • 阐释TSPITR 使用的术语的定义 • 确定适合将TSPITR 用作解决方案的情况 • 确定时间点恢复的正确目标时间 • 确定不能使用TSPITR 的情况以及解决方法 • 执行自动TSPITR 表空间时间点恢复(TSPITR):概念 • 通过执行TSPITR 可将一个或多个表空间快速恢复到以前的某个时间. • 执行TSPITR 不会影响数据库中其它表空间或对象的状态. 使用RMAN 自动表空间时间点恢复(TSPITR) 可将Or

Oracle误删除表空间的恢复

对于误删除表空间的恢复,本文通过基于数据库的时间点恢复和基于表空间的时间点恢复分别加以讨论 一 通过基于数据库的时间点恢复被误删除的表空间 1 需要注意的事项 a 基于数据库的时间点恢复将会回退整个数据库. b 误删除表空间,当数据库有之前可用于恢复的全库备份和相关归档,如果对数据库执行不完全恢复,恢复该数据库到删除表空间之前的状态,便可恢复误删除的表空间.但实际上当我们删除表空间,数据库备份中将不存在关于该表空间的的信息,直接进行恢复将会出现问题.如下所示: RMAN> list backup

Oracle 学习之RMAN(十四)恢复实战--基于时间点恢复

1. 我们先做一个全备 RMAN> backup database ; Starting backup at 2015/07/09 13:40:47 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=28 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in b

SYSTEM 表空间管理及备份恢复

标签: systemoraclesqldatabasefile数据库 2010-11-28 18:14 12689人阅读 评论(0) 收藏 举报 分类: -----Oracle备份恢复(16) 版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处. --============================= -- SYSTEM 表空间管理及备份恢复 --============================= SYSTEM表空间是Oracle数据库最重要的一个表空间,存放了一些DDL

DB2表空间重定向恢复数据库实战

DB2的备份恢复有点坑,当源系统和目标系统的路径设置不同时,要手动进行重定向恢复,本文是我一次实战操作之后总结的过程,仅供参考. 一.发出重定向恢复命令 DB2 RESTORE DB OLDDB FROM "C:\OLDDBbak" TAKEN AT 20150717164847 TO "C:" INTO NEWDB REDIRECT 其中,OLDDB是旧数据库.备份的数据库名称,NEWDB是新数据库名称,不用事先创建也可以,C:\OLDDBbak是备份文件放置的目