异常宕机 Ora-00600 [Kccpb_sanity_check_2] 错误解决方法
Posted tianlesoftware
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常宕机 Ora-00600 [Kccpb_sanity_check_2] 错误解决方法相关的知识,希望对你有一定的参考价值。
朋友说数据库异常宕机后,启动时报600错误。
ora-00600:internal error code ,arguments:[kccpb_sanity_check_2],[3106],[3104],[0x000000000],[],[],[],[]
在官网搜了一下,相关的说明如下:
Cause
[kccpb_sanity_check_2] indicates that the seq# of the last read block is higher than the seq# of the control file header block. This is indication of the lost write of the header block during commit of the previous cf transaction.
Solution
1) restore a backup of a controlfile and recover
OR
2) recreate the controlfile
OR
3) restore the database from last good backup and recover
NOTE:
If you do not have any special backup of control file to restore and you are using Multiple Control File copies in your pfile/init.ora/spfile you can attempt to mount the database using each control file one by one. If you are able to mount the database with any of these control file copies you can then issue alter database backup controlfile to trace to recreate controlfile.
一般控制文件有3个冗余,可以每次用单个控制文件看看可能启动,如果能启动,就shutdown 实例,把这个好的控制复制2份,并重命名,在修改pfile,启动就ok了。
如果都不行,又没有备份的情况下,就只能重建控制文件了。 关于控制文件的重建,参考我的Blog:
Oracle 控制文件
http://www.cndba.cn/Dave/article/1216
Oracle 不同故障的恢复方案
http://www.cndba.cn/Dave/article/550
以上是关于异常宕机 Ora-00600 [Kccpb_sanity_check_2] 错误解决方法的主要内容,如果未能解决你的问题,请参考以下文章
ORA-00600: internal error code, arguments: [kdBlkCheckError]
ORA-00600: internal error code, arguments: [4193]问题解决
ora 00600 [kcratr_nab_less_than_odr] [4194]错误
ORA-00600: internal error code, arguments: [13030], [20]一例解决