暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一个ora-600 [kcbnew_3]问题的分析

白鳝的洞穴 2020-02-14
1124
客户的一个应用报错,从ALERT LOG上看存在ora-600 [kcbnew_3]报错:

ORA-00600: internal error code, arguments: [kcbnew_3], [0], [8],[780858], [], [], [], []

Current SQL statement for this session:

insert into XXX(......)values(........)

----- Call Stack Trace -----

calling             call     entry                argument values in hex     

location            type     point                (? means dubious value)    

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

ksedst+001c          bl       ksedst1              000000000 ? FFFFFFFFFFDDC54 ?

ksedmp+0290          bl       ksedst               104A53068 ?

ksfdmp+0018          bl       03F4D43C            

kgerinv+00dc         bl       _ptrgl              

kgeasnmierr+004c     bl       kgerinv              700000EF88EB908 ? 10567E468 ?

                                                  0FFFFFFFF ? 000000008 ?

                                                  700000F03220850 ?

kcbassertsd3+0138    bl       kgeasnmierr          110195AA0 ? 1104924B0 ?

                                                  10567EC78 ?300000003 ?

                                                  000000000 ? 000000000 ?

                                                  000000000 ? 000000008 ?

kcbnew+0b78          bl       kcbassertsd3         10013BA6C ? FFFFFFFFFFDDF30 ?

                                                  700000F0F20F5A0 ?

                                                  700000EF8366F80 ? 100000001 ?

ktspffbmb+02fc       bl       kcbnew               1800000018 ?

                                                   FFFFFFFFFFDFC80 ?000000002 ?

ktspupd+0c44         bl       ktspffbmb            10567EEC8 ? 10567EEB8 ?

                                                  000000000 ? 000020040 ?

ktspfmb_add+0440     bl       ktspupd              11052DCA0 ? FFFFFFFFFFE0590 ?

                                                  2000000000000 ? 98000000061 ?

kteopadd+0580        bl       ktspfmb_add          1017E8C1C ? 000000001 ?

                                                  000000002 ? 11022AAE0 ?

                                                  FFFFFFFFFFE09A0 ?

                                                  282244401022AAE0 ?

                                                  1021EFC88 ?

ktsxs_add+105c       bl       kteopadd             700000F0B344FA0 ? 000000000 ?

                                                  000002000 ? 000001FE8 ?

                                                  11052DCA0 ? 000000000 ?

                                                  000000000 ? 000000002 ?

ktspnr_next+0680     bl       ktsxs_add            FFFFFFFFFFE2840 ?

                                                  FFFFFFFFFFE1648 ?

                                                  7FFFFFFF0567EF60 ?

                                                   290567EF4C ?

                                                  30000010567EF40 ? 080000004 ?

                                                  210567EF78 ? 10567EF6C ?

ktrsexec+0290        bl       _ptrgl              

ktspbmphwm+0480      bl       ktrsexec             FFFFFFFFFFE27F8 ?

ktspmvhwm+0044       bl       ktspbmphwm           11052DCA0 ? 000000001 ?

                                                  000000003 ? 700000010018078 ?

 

kcbnew_3这个错误号,kcb是KERNEL CACHE BLOCK的简写,一般来说是数据块和CACHE层面的故障,如果暂时没有太多的思路,可以先查看和SQL语句相关的表和索引是否存在坏块。经过检查,发现是索引损坏,在线rebuild索引无法解决问题,必须删除重建,重建后问题消失。
事后分析问题,发现因为业务要求,该索引每天晚上进行重建,同时每天晚上该表会进行shrink操作。经过分析,这个问题是Oracle bug 9456964导致,该BUG的主要特征为:

l 对一个索引组织表或者普通表做SHRINK操作,索引组织表或者普通表的索引会出现问题

l 出现ora-600[kcbnew_3]

l 影响数据库版本10.2.0.4,10.2.0.5

l 修复版本11.2.0.2

上述现象与客户的情况十分类似,可以的系统为了确保性能问题,每天晚上会对某张表做数据清理,然后进行shrink操作。shrink后的数据块还存在于SGA的DB CACHE中,此时有一个前台进程找到了这个current状态的cache,使用时发现object id不同,于是报ora-600 [kcbnew_3]错误。
由于客户的系统是10.2.0.4,这个BUG在该版本上没有补丁包,客户暂时也无法升级数据库。于是建议客户每天SHRINK表后执行语句:

  "alter system flush buffer_cache"

对DB CACHE进行刷新,避免触发BUG。采取该操作后,此问题消失。

最后修改时间:2020-02-15 13:41:40
文章转载自 白鳝的洞穴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论