欢迎光临
我们一直在努力

RMAN不完全恢复(二)

场景设计:数据机构发生变化后没有备份,datafile丢失并且要求基于时间恢复到某一点

其他条件: 控制文件、参数文件、online redo log正常,归档日志完整

实验设计:新建表空间,数据文件以及表,然后rman做备份,插入数据100,记录时间;然后再插入数据1000,然后删除datafile,要求恢复到记录的时间

1、插入表和数据,次步骤省略,利用之前已有表。

SQL> select * from t1;

ID NAME

———- ———————–

1 tangkai

2、rman备份

RMAN> backup database format ‘/opt/app/oracle/oradata/backup/%U_%t.bak’;


3、插入数据

SQL> insert into t1 values (100);

4、记录时间

SQL> select to_char(sysdate,’YYYY-MM-DD:HH24:MI:SS’) from dual

2 ;

TO_CHAR(SYSDATE,’YY

——————-

2015-05-19:16:22:52

5、插入数据1000

SQL> insert into t1 values (1000);

6、删除datafile

[oracle@lab01 oracle]$ rm t1.dbf t2.dbf

7、RMAN恢复

RMAN> run {

2> allocate channel c1 type disk;

3> set until time=”to_date(‘2015-05-19:16:22:52′,’YYYY-MM-DD:HH24:MI:SS’)”;

4> restore database;

5> recover database;

6> }


8、验证100的数据恢复回来,时间节点以后的1000丢失。


总结: RMAN恢复过程中,如果发现restore的datafile不存在会自动创建一个datafile。

未经允许不得转载:SRE空间 » RMAN不完全恢复(二)

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

oracle