日期:2014-05-17  浏览次数:20865 次

RMAN做两次不完全恢复
首先,我的所有备份都是完整的。

我按时间顺序做了3个备份,如下:
1、第一个备份的时候,有表B1和B2;SCN:1
2、第二个备份的时候,有表B1,B2被删掉了;SCN:2
3、第三个备份的时候,没有表了,B2、B1都被删掉了;SCN:3

此时我做了一次恢复,到SCN=2,用resetlogs打开数据库,发现B2的数据恢复了。

但是又发现B1的数据我也想要,于是就要恢复到SCN=1;

此时我又做恢复:
restore database until scn 1;
于是报错:
RMAN-20208: UNTIL CHANGE 在 RESETLOGS 改变之前;

这个我该怎么做才能恢复B1呢?

------解决方案--------------------
你是怎么备份的?全备?

resetlogs打开数据库,这个操作做的是不完全恢复,
RESETLOGS之后,以前所有的备份就失效了,如果希望备份可以在RESETLOGS后继续生效,可以当前不要马上打开数据库,而是先关闭数据库,备份全库后,在以RESETLOGS方式打开。