数据库崩溃故障处理二

上一篇 / 下一篇  2008-07-04 11:42:11 / 个人分类:故障解决记录

 

平台: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$databasev$datafilev$datafile_header检查数据库和数据文件检查点相对应的情况。找到最大的检查点,然后根据此检查点进行基于SCN的恢复


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar