首先,我的所有备份都是完整的。我按时间顺序做了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呢?

解决方案 »

  1.   

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

  2.   

    谢谢,您的恢复提示了我不完全恢复后,再次进行全库备份的重要性。
    不过已经解决了,按照oracle的“前世今生号”可以使用以前的backup。
    40加给你。