平台:Window 2000 SP4 Oracle 8.1.6
故障描述一:由于阵列故障导致,数据库文件损坏无法读取,数据库崩溃,重新启动数据库失败
处理步骤一:直接执行恢复操作,recover database 。执行恢复操作出错提示:ORA-00600: internal error code, arguments: [3020], [50355625], [1], [520398], [3599], [16], [], []
处理步骤二:查询获知ORA-00600: [3020]一般为回滚段错误,于是注释了参数文件中的手工指定的回滚段,再次启动数据库。提示大量的回滚段需要恢复,并且file 3回滚段数据文件无法读取:ORA-00604: error occurred at recursive SQL level 1,ORA-00376: file 3 cannot be read at this time,ORA-01110: data file 3: 'E:\DATABASE\RBS1ORCL.ORA'
处理步骤三:确认数据文件有损坏,并且做完全恢复时,再次发生ora-00600错误。
处理步骤四:做不完全恢复:recover database until change SCN;
结果:使用不完全恢复打开了数据库,丢失可一部分数据
分析:数据库崩溃后,使用备份无法进行完全恢复,接着使用基于cancel的恢复,也无法打开数据库,说明数据库还是恢复到了错误的时间点。因此问题的关键在于如何确定哪个时间的的数据是正常的。处理思路是:通过查询数据字典视图v$database、v$datafile和v$datafile_header检查数据库和数据文件检查点相对应的情况。找到最大的检查点,然后根据此检查点进行基于SCN的恢复
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4670/viewspace-369167/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4670/viewspace-369167/