异常宕机 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://blog.csdn.net/tianlesoftware/archive/2009/12/09/4974440.aspx

 

       Oracle 不同故障的恢复方案

       http://blog.csdn.net/tianlesoftware/archive/2010/12/30/6106178.aspx

 

 

 

 

-------------------------------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

Email: [email protected]

DBA1 群:62697716();   DBA2 群:62697977()   DBA3 群:62697850()  

DBA 超级群:63306533();  DBA4 群: 83829929  DBA5群: 142216823    

DBA6 群:158654907  聊天 群:40132017   聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

你可能感兴趣的:(ORA-00600)