报错之前,我在操作系统内将所有的以Test开头的数据文件都删除了!
此后,我模拟控制文件比数据文件中的SCN 旧!
即system ckpt scn=datafile ckpt scn < start scn。提示需要进行介质恢复。在进行介质恢复时报如下错误!
SQL> recover database using backup controlfile;
ORA-00283: recovery session canceled due to errors
ORA-01111: name for data file 5 is unknown - rename to correct file
ORA-01110: data file 5: '/u01/app/oracle/product/10.2.0/db_1/dbs/MISSING00005'
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01111: name for data file 5 is unknown - rename to correct file
ORA-01110: data file 5: '/u01/app/oracle/product/10.2.0/db_1/dbs/MISSING00005'
解决方案:
① 重建控制文件 <用noresetlogs方式>
② 建立好后,系统则能开启到正常open状态
③ Select file_name,tablespace_name,online_status from dba_data_files;
此结果你呢个顺利的找到MISSING00005为TEST2表空间所有
④ alter tablespace TEST2 offline;
⑤ drop tablespace TEST2 including contents and datafiles;
解决上述问题后,即可继续完成介质恢复部分。
另:本人在网上看了产生MISSING类问题的回答,据本人在实验过程中所得结论是:在操作系统内误删除datafile文件并且数据库内并未
删除相关表空间时所导致。(也就是说:先在操作系统内将数据文件删除,至于删除表空间这一步骤,是在你发现这个问题并解决此问题时 才会想到的事
表空间并未删除的结果)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9472111/viewspace-747195/
,如需转载,请注明出处,否则将追究法律责任。