ORA-600(kjzhablar:idx)错误

客户告警日志出现ORA-600[kjzhablar:idx]错误,已经碰到过ORA-7445[kjzhablar:idx]的错误,虽然错误函数相同,但是二者关系不大。
错误信息为:

Sat May 14 18:54:55 EAT 2011
Errors IN file /oracle/app/admin/orcl/bdump/orcl1_diag_3889.trc:
ORA-00600: internal error code, arguments: [kjzhablar:idx], [1], [1], [0x9FFFFFFFFD343AB4], [], [], [], []
Sat May 14 18:54:57 EAT 2011
Trace dumping IS performing id=[cdmp_20110514185457]

对应的TRACE文件包含下面的信息:

*** 2011-05-14 18:54:52.638
Switch TO short timeout FOR ipc polling
a SESSION (kjzha) IS registered
SESSION (kjzha) IS about TO END
Registered SESSION (kjzha)[11][4][0][1] IS cleaned up
Switch TO long timeout FOR ipc polling
Switch TO short timeout FOR ipc polling
a SESSION (kjzha) IS registered
*** 2011-05-14 18:54:55.828
ksedmp: internal OR fatal error
ORA-00600: internal error code, arguments: [kjzhablar:idx], [1], [1], [0x9FFFFFFFFD343AB4], [], [], [], []
----- Call Stack Trace -----
calling              CALL     entry                argument VALUES IN hex      
location             TYPE     point                (? means dubious VALUE)     
-------------------- -------- -------------------- ----------------------------
ksedst()+64          CALL     ksedst1()            000000000 ? 000000001 ?
ksedmp()+2176        CALL     ksedst()             000000000 ?
                                                   C000000000000D20 ?
                                                   4000000003EC4A80 ?
                                                   000000000 ? 000000000 ?
                                                   000000000 ?
ksfdmp()+112         CALL     ksedmp()             000000003 ?
                                                   9FFFFFFFFFFFBB00 ?
                                                   60000000000AF0E0 ?
                                                   9FFFFFFFFFFFC0D0 ?
                                                   C000000000000999 ?
                                                   4000000003F0CAF0 ?
kgerinv()+304        CALL     ksfdmp()             9FFFFFFFFFFFC660 ?
                                                   000000003 ?
                                                   9FFFFFFFFFFFC0E0 ?
                                                   60000000000AF0E0 ?
                                                   C000000000000612 ?
                                                   40000000097509D0 ?
kgeasnmierr()+144    CALL     kgerinv()            60000000000318D0 ?
                                                   40000000019720C0 ?
                                                   6000000000032988 ?
                                                   40000000019720C0 ?
                                                   9FFFFFFFFFFFC6A0 ?
kjzhablar()+1008     CALL     kgeasnmierr()        60000000000318D0 ?
                                                   60000000002F0E78 ?
                                                   60000000002F0E88 ?
                                                   6000000000032D00 ?
                                                   000000000 ?

这种有后台进程导致的ORA-600错误,多半和bug有关,查询MOS文档Bug 9062296 – DIAG process gets ORA-600[kjzhablar:idx] in RAC env [ID 9062296.8]描述的就是这个错误。在Rac环境的一个节点上DIAG进程出现这个ORA-600错误。
这个错误一般发生在读取V$SESSION的阻塞会话信息时,确认影响的版本是10.2.0.4正是当前的版本,Oracle将在解决这个bug的超集bug:9322219时将这个问题解决。因此这个bug在10.2.0.5.5中被修正。
Oracle给出的临时解决方案是通过设置隐含参数_diag_daemon为FLASE,来禁用DIAG进程。

This entry was posted in BUG and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *