最近有个生产库碰到个ora-00600问题,alert日志里频繁出现该报错,部分日志如下:Sat Feb 27 01:05:04 2016
Errors in file /appdata/orasrv/admin/oradb/udump/oradb_ora_18319.trc:
ORA-00600: 内部错误代码, 参数: [kdimod0: key order], [85], [85], [], [], [], [], []
Sat Feb 27 01:10:07 2016
Errors in file /appdata/orasrv/admin/oradb/udump/oradb_ora_18353.trc:
ORA-00600: 内部错误代码, 参数: [kdimod0: key order], [85], [85], [], [], [], [], []下面是trace文件部分内容:Oracle Database 10g Release 10.2.0.2.0 - Production
ORACLE_HOME = /appdata/orasrv/product/10.2.0
System name: SunOS
Node name: SERVERB
Release: 5.10
Version: Generic_142901-11
Machine: i86pc
Instance name: oradb
Redo thread mounted by this instance: 1
Oracle process number: 17
Unix process pid: 29988, image: oracleoradb@SERVERB*** SERVICE NAME:(oradb) 2016-06-08 03:35:50.731
*** SESSION ID:(313.39692) 2016-06-08 03:35:50.731
*** 2016-06-08 03:35:50.731
ksedmp: internal or fatal error
ORA-00600: 内部错误代码, 参数: [kdimod0: key order], [85], [85], [], [], [], [], []
Current SQL statement for this session:
delete from dbuser.SCD_AnalogData

----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
ksedst()+23          ?        00000000             0 1 21 0
ksedmp()+558         ?        00000000             0
ksfdmp()+17          ?        00000000             3
kgerinv()+218        ?        00000000             BFCE140 3
kgeasnmierr()+39     ?        00000000             BFCE140 FDC50020 B636A10 2
                                                   8042EE4
kdimod0()+6432       ?        00000000             BFCE140 FDC50020 B636A10 2 0
                                                   55 0 0 55 0
kauXFinish()+190     ?        00000000             93952F1C 0 0 0 2 FF 1 0 0 0
                                                   8043D0C 0
kxibDoFinish()+140   ?        00000000             93952F64 CAFB 100000 1
                                                   FDC4FC34
kxibFinish()+226     ?        00000000             FDC4FC04 FDC4FC34
qerdlFetch()+697     ?        00000000             FDC4FC04
delexe()+704         ?        00000000             93953220 0 93953134 0
opiexe()+13214       ?        00000000             93953C34
kpoal8()+1846        ?        00000000             49 3 80458A8
opiodr()+817         ?        00000000             5E 17 8046210
ttcpip()+1369        ?        00000000             5E 17 8046210 0
opitsk()+909         ?        00000000             BFC5CB8 5E 8046210 0 8046B28
                                                   8047710 8DB5F10 0 80476FC
opiino()+722         ?        00000000             0 0
opiodr()+817         ?        00000000             3C 4 8047C70
opidrv()+482         ?        00000000             3C 4 8047C70 0
sou2o()+64           ?        00000000             3C 4 8047C70
opimai_real()+98     ?        00000000             8047C84 3C 4 8047C70
main()+90            ?        00000000             2 8047CC4
08288155             ?        00000000             2 8047D2C 8047D38
看上去应该是表dbuser.SCD_AnalogData上的delete操作导致?但是具体原因还没搞明白,有没有大神可以帮忙查查是什么原因?有需要我再贴其他内容,谢谢。

解决方案 »

  1.   

    托大神在metalink查了下,应该是表索引存在坏块导致,准备重建索引。
      

  2.   

    ORA-600[kdimod0: key order] Error Raised by Corrupt Index (Doc ID 726635.1) To BottomTo Bottom In this Document
      Symptoms
      Cause
      Solution
    Created from <SR6975553.993> with ODM[This section is not visible to customers.]
    This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.
    APPLIES TO:Oracle Server - Standard Edition - Version: 10.2.0.3
    This problem can occur on any platform.
    SYMPTOMSThe following error is seen in the alert log:
       ORA-00600: internal error code, arguments: [kdimod0: key order]The call stack can look like this:
       kdimod0 kauXFinish kxibDoFinish kxibFinish qerdlFetch delexe...The "delete"command is confirmed to raise this error.The analyze command completes without error.CAUSEIndex(es) on the affected table are corrupt even though the "analyze table ... validate cascade" command does not return any errors.
    SOLUTIONTo implement the solution, drop and recreate any indexes created on the affected table.