9206数据库在收集统计信息时出现这个错误。
错误信息如下:
Fri Oct 14 05:00:52 2011 Errors IN file /opt/app/admin/orcl/bdump/orcl2_p010_16736.trc: ORA-00600: internal error code, arguments: [kghpih:ds], [0x494217CE8], [], [], [], [], [], [] Fri Oct 14 05:00:53 2011 Trace dumping IS performing id=[cdmp_20111014050053] Fri Oct 14 05:00:53 2011 Errors IN file /opt/app/admin/orcl/bdump/orcl2_j000_16586.trc: ORA-12012: error ON auto EXECUTE OF job 291 ORA-12801: error signaled IN parallel query server P010, instance server3:orcl2 (2) ORA-00600: internal error code, arguments: [kghpih:ds], [0x494217CE8], [], [], [], [], [], [] ORA-06512: at "SYS.DBMS_STATS", line 10070 ORA-06512: at "SYS.DBMS_STATS", line 10564 ORA-06512: at "SYS.DBMS_STATS", line 10751 ORA-06512: at "SYS.DBMS_STATS", line 10805 ORA-06512: at "SYS.DBMS_STATS", line 10782 ORA-06512: at "SYS.PROC_ANALYZE", line 4 ORA-06512: at line 1 |
对应的TRACE信息为:
*** 2011-10-14 05:00:52.427 ksedmp: internal OR fatal error ORA-00600: internal error code, arguments: [kghpih:ds], [0x494217CE8], [], [], [], [], [], [] No CURRENT SQL statement being executed. ----- Call Stack Trace ----- calling CALL entry argument VALUES IN hex location TYPE point (? means dubious VALUE) -------------------- -------- -------------------- ---------------------------- ksedmp()+328 CALL ksedst() 00000000B ? 000000000 ? 000000000 ? 00000004A ? FFFFFFFF7FFF8A88 ? 1032E18E8 ? kgerinv()+184 PTR_CALL 0000000000000000 000103705 ? 103705000 ? 103705468 ? 10370A000 ? 000102C00 ? 000000000 ? kgesinv()+20 CALL kgerinv() 1037056C8 ? 1037F9968 ? 0000013C8 ? 000000001 ? 1037077D4 ? 103706A98 ? kgesin()+28 CALL kgesinv() 1037056C8 ? 1037F9968 ? 1034D9E48 ? 000000001 ? FFFFFFFF7FFFC430 ? 00000BFA0 ? kghpih()+340 CALL kghnerror() 1037056C8 ? 1037F9968 ? 1034D9E48 ? 000000001 ? 000000002 ? 494217CE8 ? kgllkal()+808 CALL kghpih() 1037056C8 ? 498D5D470 ? 000000000 ? 000000001 ? 49052A780 ? 49052A770 ? kglget()+720 CALL kgllkal() 48C8BE440 ? 49052A750 ? 000000003 ? 000000001 ? 000000006 ? 103706A98 ? kkslce()+124 CALL kglget() 000000000 ? FFFFFFFF7FFFD4B0 ? 000000000 ? 49052A750 ? 4864BB1C0 ? 48DC28988 ? kkschkcsr()+108 CALL kkslce() 1037056C8 ? 49052ADB0 ? FFFFFFFF7FFFD4B0 ? FFFFFFFF7CA6AAB0 ? FFFFFFFF7FFFD5D8 ? FFFFFFFF7FFFCA90 ? kksscl()+988 CALL kkschkcsr() 1037056C8 ? FFFFFFFF7CA6AAB0 ? 4906247E0 ? 000000008 ? 49052AD98 ? 000000000 ? kksfbc()+3020 CALL kksscl() 49052AD98 ? 000000006 ? 000000000 ? FFFFFFFF7FFFD4B0 ? 4906247E0 ? 000000000 ? kkspsc0()+976 CALL kksfbc() 000000000 ? FFFFFFFF7FFFD4B0 ? FFFFFFFF7FFFD64F ? FFFFFFFF7FFFD1EC ? FFFFFFFF7FFFD1F0 ? 002000001 ? opiosq0()+924 CALL kkspsc0() FFFFFFFF7CA603B0 ? 000000005 ? 000000000 ? 4904CD9F8 ? 000000002 ? 103705808 ? kxfxsp1()+472 CALL opiosq() 100FF8000 ? 1037079C8 ? 000000E0D ? 1037F56E0 ? 1037077D4 ? 000000016 ? kxfxspPO()+472 CALL kxfxsp1() 1037F56E0 ? 000000E0D ? 000000000 ? 000000002 ? 000000000 ? 000001BF8 ? kxfxsp()+292 CALL kxfxspPO() FFFFFFFF7FFFE1D8 ? 000103000 ? FFFFFFFF7CA5FC08 ? 000000000 ? 000000000 ? 000100000 ? kxfxmai()+960 CALL kxfxsp() 4863FECA0 ? 48DC3E6D0 ? 0001003CC ? 103705468 ? 000000002 ? 000000000 ? kxfprdp()+2456 PTR_CALL 0000000000000000 103803080 ? 103705808 ? 000000001 ? 000000000 ? 000000001 ? 000000000 ? opirip()+1152 CALL kxfprdp() 49AD362E8 ? 000003C00 ? 000102E55 ? 103705808 ? 000000010 ? 103707D40 ? opidrv()+1012 CALL opirip() 000000000 ? 000000010 ? 000000000 ? 103705468 ? 10370A610 ? 000000001 ? sou2o()+16 CALL opidrv() 000000000 ? 000000000 ? 1037051EC ? 000000032 ? 1037056C8 ? 000103400 ? main()+304 CALL sou2o() FFFFFFFF7FFFF980 ? 000000032 ? 000000000 ? 000000000 ? 000039E70 ? 000000000 ? _start()+380 CALL main() 000000001 ? FFFFFFFF7FFFFAC8 ? FFFFFFFF7FFFFAD8 ? 000000000 ? 000000000 ? 100000000 ? --------------------- Binary Stack Dump --------------------- |
根据MOS文档ALERT: ORA-600 [kghpih:ds] After Applying 9.2.0.6 [ID 310939.1],这是9206补丁集引入的一个bug,两个会话同时锁住一个游标,就会导致其中一个出现ORA-600错误。
Oracle在9207中解决了这个bug,或者在9206上针对Bug 415771应用patch,同样可以避免这个错误。