由于测试机子上的数据有点老,金东东同事,让我从新把生产库里面的数据导入到测试库

         由于pdatest 这个用户下面的数库比较大,大约有16G左右,当时怕万一误删,同时也是为了学习rman  ,就执行了一下 rman  level0 级备份的脚本。再执行drop user pdatest cascade,把pdatest 用户的数据全删了。

           再重新导入从生关库下载下来的数据,当我还没导完时,王工就来找我,好象测试库里面的数据不对,我一下子就知道什么问题,问一下他数据多不多,他说。“一个星期的功劳都在那里,最好能帮他找回来,感激不尽、、、、、”  他可能还不知道问题出在那、、、、、

      只好重新把数据导回来,我本来想把这个表空间的数据文件删了(还有其他表空间,都是测试的),再从rman 中恢复,不应用archlog,但不成功,数据库起不来,不知什么原因?

        后来只能全部恢复到删除的那个时间点,才成功!

RMAN> run{
2> allocate channel ch1 type disk;
3> set until time "to_date('2010-06-13 15:44:00','YYYY-MM-DD hh24:mi:ss')";
4> restore database;
5> recover database;
6> release channel ch1;
7> }

 

SQL> startup open;


ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

SQL> starup mount; 

SQL> alter database open  resetlogs;

     这一次给了我一个教训,就是在删除oracle里面的数据前,一定在找人确定,还有做好备份,幸好不是生产库,否则就死定了!!!