ORA-600 kghstack_free2异常恢复

联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

标题:ORA-600 kghstack_free2异常恢复

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

今天接触一案例ORA-00600[kghstack_free2],恢复起来很简单,顺便记录下,供其他人遇到类似情况参考.

Wed Feb 20 15:05:04 2013
SMON: enabling cache recovery
Wed Feb 20 15:05:05 2013
Successfully onlined Undo Tablespace 1.
Wed Feb 20 15:05:05 2013
SMON: enabling tx recovery
Wed Feb 20 15:05:06 2013
Errors in file f:\oracle\product\10.2.0\admin\cksoltp\bdump\cksoltp_smon_3556.trc:
ORA-00600: internal error code, arguments: [kghstack_free2], [], [], [], [], [], [], []

Wed Feb 20 15:05:06 2013
Database Characterset is AL32UTF8
replication_dependency_tracking turned off (no async multimaster replication found)
Wed Feb 20 15:05:08 2013
Errors in file f:\oracle\product\10.2.0\admin\cksoltp\bdump\cksoltp_smon_3556.trc:
ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [_kghstack_err+101] 
[PC:0x603CC77F] [ADDR:0x59004E04] [UNABLE_TO_READ] []
ORA-00600: internal error code, arguments: [kghstack_free2], [], [], [], [], [], [], []

Starting background process QMNC
QMNC started with pid=18, OS id=3504
Wed Feb 20 15:05:13 2013
Errors in file f:\oracle\product\10.2.0\admin\cksoltp\bdump\cksoltp_pmon_4064.trc:
ORA-00474: SMON process terminated with error

这个错误很明显是因为smon在回滚事务的时候,遇到异常从而出现ORA-00600[kghstack_free2]错误,使得数据库不能被正常open,通过分析trace文件发现回滚段36中有事务未提交,需要回滚,针对这样的数据库恢复方法很简单:1.屏蔽事务回滚,2.屏蔽回滚段强制offline等
1) EVENT=”10513 trace name context forever”
2)_offline_rollback_segments= _SYSSMU36$
数据库启动后,通过分析trace文件,找出来异常对象,然后重建该对象,除掉event/_offline_rollback_segments即可

此条目发表在 Oracle备份恢复 分类目录,贴了 , , 标签。将固定链接加入收藏夹。

ORA-600 kghstack_free2异常恢复》有 1 条评论

  1. 惜分飞 说:

    ORA-00600 [kghstack_free2] and Database doesn’t Open

    Cause
    Because of the crash redo log have been corrupted.
    
    This issue could reproduce in environments that are using IMU, see Bug 5762424
    
    
    Solution
    1) In order to open database you will have to use event 10513 to stop TX recovery.
    
        a) If using init.ora, update the file with this line and bounce database 
    
            event = "10513 trace name context forever, level 2" 
    
       b) If using spfile: 
    
           sqlplus /nolog 
           connect / as sysdba 
           startup mount 
           alter system set event= '10513 trace name context forever, level 2' scope=spfile; 
           shutdown 
           startup 
    
    2) Find the offending object in the trace file looking at the current statement or based on a block dump
    
    3) drop this object
    
    4) remove event 10513
    
    5) disable IMU
    
         _in_memory_undo=FALSE 
    
    6) startup database.