场景设计:数据机构发生变化后没有备份,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不完全恢复(二)
评论前必须登录!
注册