客户数据库出现ORA-600(19004)错误。
错误信息如下:
ORA-00600: internal error code, arguments: [19004], [], [], [], [], [], [], []
对应的详细TRACE为:
*** 2012-03-15 13:10:31.283
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [19004], [], [], [], [], [], [], []
Current SQL statement for this session:
select distinct loc.id as col_0_0_, temp2_.id as col_1_0_, bloc.routeIndex as col_2_0_, loc.id as id32_, loc.createdTime as createdT2_32_, loc.CREATOR_ID as CREATOR3_32_, loc.DOMAIN_ID as DOMAIN4_32_, loc.lockVersion as lockVers5_32_, loc.reMark as reMark32_, loc.status_id as status85_32_, loc.udf1 as udf7_32_, loc.udf2 as udf8_32_, loc.udf3 as udf9_32_, loc.udf4 as udf10_32_, loc.udf5 as udf11_32_, loc.udf6 as udf12_32_, loc.udf7 as udf13_32_, loc.udf8 as udf14_32_, loc.updatedTime as updated15_32_, loc.UPDATOR_ID as UPDATOR16_32_, loc.fixCreatedTime as fixCrea17_32_, loc.fixCreatedTimeForDisp as fixCrea18_32_, loc.fixExpiredTime as fixExpi19_32_, loc.fixExpiredTimeForDisp as fixExpi20_32_, loc.fixStatus_id as fixStatus87_32_, loc.fixStatusForDisp as fixStat21_32_, loc.lotAtt01 as lotAtt22_32_, loc.lotAtt01ForDisp as lotAtt23_32_, loc.lotAtt02 as lotAtt24_32_, loc.lotAtt02ForDisp as lotAtt25_32_, loc.lotAtt03 as lotAtt26_32_, loc.lotAtt03ForDisp as lotAtt27_32_, loc.lotAtt04 as lotAtt28_32_, loc.lotAtt04ForDisp as lotAtt29_32_, loc.lotAtt05 as lotAtt30_32_, loc.lotAtt05ForDisp as lotAtt31_32_, loc.lotAtt06 as lotAtt32_32_, loc.lotAtt06ForDisp as lotAtt33_32_, loc.lotAtt07 as lotAtt34_32_, loc.lotAtt07ForDisp as lotAtt35_32_, loc.lotAtt08 as lotAtt36_32_, loc.lotAtt08ForDisp as lotAtt37_32_, loc.lotAtt09 as lotAtt38_32_, loc.lotAtt09ForDisp as lotAtt39_32_, loc.lotAtt10 as lotAtt40_32_, loc.lotAtt10ForDisp as lotAtt41_32_, loc.lotAtt11 as lotAtt42_32_, loc.lotAtt11ForDisp as lotAtt43_32_, loc.lotAtt12 as lotAtt44_32_, loc.lotAtt12ForDisp as lotAtt45_32_, loc.lotHeader_id as lotHeader89_32_, loc.asnTraceId as asnTraceId32_, loc.cubicEach as cubicEach32_, loc.cubicUom as cubicUom32_, loc.customer_id as customer86_32_, loc.grossWeightEach as grossWe49_32_, loc.grossWeightUom as grossWe50_32_, loc.inboundTime as inbound51_32_, loc.location_id as location83_32_, loc.manufacturer_id as manufac88_32_, loc.netWeightEach as netWeig52_32_, loc.netWeightUom as netWeig53_32_, loc.org_id as org82_32_, loc.packCode as packCode32_, loc.priceEach as priceEach32_, loc.priceUom as priceUom32_, loc.qtyAllocatedEach as qtyAllo57_32_, loc.qtyAllocatedUom as qtyAllo58_32_, loc.qtyConfirmEach as qtyConf59_32_, loc.qtyConfirmUom as qtyConf60_32_, loc.qtyEach as qtyEach32_, loc.qtyHold4PaEach as qtyHold62_32_, loc.qtyHold4PaUom as qtyHold63_32_, loc.qtyLendEach as qtyLend64_32_, loc.qtyLendUom as qtyLendUom32_, loc.qtyLockEach as qtyLock66_32_, loc.qtyLockUom as qtyLockUom32_, loc.qtyMendEach as qtyMend68_32_, loc.qtyMendUom as qtyMendUom32_, loc.qtyOnHoldEach as qtyOnHo70_32_, loc.qtyOnHoldUom as qtyOnHo71_32_, loc.qtyPickedEach as qtyPick72_32_, loc.qtyPickedUom as qtyPick73_32_, loc.qtyTempEach as qtyTemp74_32_, loc.qtyTempUom as qtyTempUom32_, loc.qtyUom as qtyUom32_, loc.qtyUseEach as qtyUseEach32_, loc.qtyUseUom as qtyUseUom32_, loc.sku_id as sku84_32_, loc.traceCode as traceCode32_, loc.uom_id as uom80_32_, loc.warehouse_id as warehouse81_32_ from LOC loc, BLOC bloc, OD od, TEMP temp2_ where loc.location_id=bloc.id and od.id=temp2_.id and loc.lotHeader_id=od.lotHeader_id and (od.fixCreatedTime is null or od.fixCreatedTime=loc.fixCreatedTime) and (od.fixExpiredTime is null or od.fixExpiredTime=loc.fixExpiredTime) and (od.fixStatus_id is null or od.fixStatus_id=loc.fixStatus_id) and (od.lotAtt01 is null or od.lotAtt01=loc.lotAtt01) and (od.lotAtt02 is null or od.lotAtt02=loc.lotAtt02) and (od.lotAtt03 is null or od.lotAtt03=loc.lotAtt03) and (od.lotAtt04 is null or od.lotAtt04=loc.lotAtt04) and (od.lotAtt05 is null or od.lotAtt05=loc.lotAtt05) and (od.lotAtt06 is null or od.lotAtt06=loc.lotAtt06) and (od.lotAtt07 is null or od.lotAtt07=loc.lotAtt07) and (od.lotAtt08 is null or od.lotAtt08=loc.lotAtt08) and (od.lotAtt09 is null or od.lotAtt09=loc.lotAtt09) and (od.lotAtt10 is null or od.lotAtt10=loc.lotAtt10) and (od.lotAtt11 is null or od.lotAtt11=loc.lotAtt11) and (od.lotAtt12 is null or od.lotAtt12=loc.lotAtt12) and case when od.picLocation_id is null then loc.location_id else od.picLocation_id end=loc.location_id and od.sku_id=loc.sku_id and loc.uom_id=od.uom_id and loc.warehouse_id=od.wh_id and loc.customer_id=od.customer_id and loc.qtyUseUom>0 order by loc.qtyUseUom desc, bloc.routeIndex asc, loc.id asc
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst()+31 call ksedst1() 000000000 ? 000000001 ?
7FBFFF0300 ? 7FBFFF0360 ?
7FBFFF02A0 ? 000000000 ?
ksedmp()+610 call ksedst() 000000000 ? 000000001 ?
7FBFFF0300 ? 7FBFFF0360 ?
7FBFFF02A0 ? 000000000 ?
ksfdmp()+21 call ksedmp() 000000003 ? 000000001 ?
7FBFFF0300 ? 7FBFFF0360 ?
7FBFFF02A0 ? 000000000 ?
kgeriv()+176 call ksfdmp() 000000003 ? 000000001 ?
7FBFFF0300 ? 7FBFFF0360 ?
7FBFFF02A0 ? 000000000 ?
kgesiv()+119 call kgeriv() 0066876E0 ? 00673CEE0 ?
000000000 ? 000000000 ?
7FBFFF02A0 ? 000000000 ?
ksesic0()+209 call kgesiv() 0066876E0 ? 00673CEE0 ?
000004A3C ? 000000000 ?
7FBFFF1080 ? 000000000 ?
kkejeq()+5152 call ksesic0() 000004A3C ? 2A97403DB0 ?
0000000CA ? 2A97403DB0 ?
000000002 ? 000000000 ?
kkeEqJoinSel()+2602 call kkejeq() 2A973C2930 ? 2A97403DB0 ?
000000000 ? 2A97403DB0 ?
000000002 ? 000000000 ?
kkepsl()+10561 call kkeEqJoinSel() 7FBFFF1BB0 ? 7FBFFF1BD0 ?
7FBFFF1BC0 ? 7FBFFF1BE0 ?
2A971E68F8 ? 2A00000002 ?
kkeasl()+2125 call kkepsl() 2A971E68F8 ? 7FBFFF2438 ?
000000002 ? 2A971EFB30 ?
2A971E68F8 ? 2A00000002 ?
kkeosl()+1447 call kkeasl() 2A971E6970 ? 7FBFFF3DB8 ?
000000002 ? 000000000 ?
000000000 ? 2A971EFB30 ?
kkejcd()+1466 call kkeosl() 2A971E6BF0 ? 7FBFFF4010 ?
000000002 ? 000000000 ?
000000000 ? 2A971EFB30 ?
kkojnp()+3920 call kkejcd() 2A973CF670 ? 2A973D3628 ?
2A974407E8 ? 000000016 ?
2A973D5008 ? 000000003 ?
kkocnp()+166 call kkojnp() 2A973D5008 ? 000000000 ?
2A974407E8 ? 000000016 ?
2A973D5008 ? 000000000 ?
kkooqb()+2258 call kkocnp() 2A973D5008 ? 000000001 ?
2A974407E8 ? 000000016 ?
2A973D5008 ? 000000000 ?
kkoqbc()+2083 call kkooqb() 000000000 ? 000000001 ?
0000007D0 ? 000000004 ?
2A00000000 ? 2A00000006 ?
apakkoqb()+170 call kkoqbc() 7FBFFF7D80 ? 2A97393428 ?
0000007D0 ? 000000001 ?
2A00000000 ? 000000000 ?
apaqbdDescendents() call apakkoqb() 7FBFFF7D80 ? 2A97393428 ?
+399 1D23E4740 ? 000000001 ?
2A00000000 ? 000000000 ?
apaqbdListReverse() call apaqbdDescendents() 7FBFFF7D80 ? 2A97393428 ?
+68 1D23E4740 ? 000000001 ?
2A00000000 ? 000000000 ?
apadrv()+586 call apaqbdListReverse() 7FBFFF7D80 ? 2A97393428 ?
1D23E4740 ? 000000001 ?
2A00000000 ? 000000000 ?
opitca()+1512 call apadrv() 1D23E4740 ? 2A97393428 ?
1D23E4740 ? 000000001 ?
2A00000000 ? 000000000 ?
kksFullTypeCheck()+ call opitca() 2A972335A8 ? 1D23E4740 ?
30 1D23E4740 ? 000000001 ?
2A00000000 ? 000000000 ?
rpiswu2()+420 call kksFullTypeCheck() 7FBFFF9328 ? 1D23E4740 ?
1D23E4740 ? 000000001 ?
2A00000000 ? 000000000 ?
kksLoadChild()+9500 call rpiswu2() 1F736B950 ? 00000003A ?
1DFC84F24 ? 000000009 ?
1DFAD88E0 ? 10000003A ?
kxsGetRuntimeLock() call kksLoadChild() 0066876E0 ? 1FAB8C5C0 ?
+1353 7FBFFFA7C0 ? 000000000 ?
1DFC84DC0 ? 2A972335A8 ?
kksfbc()+15084 call kxsGetRuntimeLock() 0066876E0 ? 2A972335A8 ?
7FBFFFA7C0 ? 000000000 ?
1DFC84DC0 ? 2A972335A8 ?
kkspsc0()+1548 call kksfbc() 2A972335A8 ? 000000003 ?
000000108 ? 2A97203D18 ?
0000016A6 ? 000000000 ?
kksParseCursor()+14 call kkspsc0() 2A97211788 ? 2A97203D18 ?
2 0000016A6 ? 000000003 ?
E77100A400000006 ?
1E77100A4 ?
opiosq0()+1641 call kksParseCursor() 7FBFFFB208 ? 2A97203D18 ?
0000016A6 ? 000000003 ?
E77100A400000006 ?
1E77100A4 ?
kpooprx()+315 call opiosq0() 000000003 ? 00000000E ?
7FBFFFB3F8 ? 0000000A4 ?
E77100A400000006 ?
1E77100A4 ?
kpoal8()+799 call kpooprx() 7FBFFFE5A4 ? 2A97203D18 ?
0000016A5 ? 000000001 ?
000000000 ? 1E77100A4 ?
opiodr()+984 call kpoal8() 00000005E ? 000000017 ?
7FBFFFE5A0 ? 000000001 ?
000000001 ? 1E77100A4 ?
ttcpip()+1012 call opiodr() 00000005E ? 000000017 ?
7FBFFFE5A0 ? 000000000 ?
0059B1310 ? 1E77100A4 ?
opitsk()+1322 call ttcpip() 00668F3B0 ? 000000003 ?
7FBFFFE5A0 ? 000000000 ?
7FBFFFE098 ? 7FBFFFE708 ?
opiino()+1026 call opitsk() 000000003 ? 000000000 ?
7FBFFFE5A0 ? 000000001 ?
000000000 ? 67502D200000001 ?
opiodr()+984 call opiino() 00000003C ? 000000004 ?
7FBFFFF768 ? 000000000 ?
000000000 ? 67502D200000001 ?
opidrv()+547 call opiodr() 00000003C ? 000000004 ?
7FBFFFF768 ? 000000000 ?
0059B0DC0 ? 67502D200000001 ?
sou2o()+114 call opidrv() 00000003C ? 000000004 ?
7FBFFFF768 ? 000000000 ?
0059B0DC0 ? 67502D200000001 ?
opimai_real()+163 call sou2o() 7FBFFFF740 ? 00000003C ?
000000004 ? 7FBFFFF768 ?
0059B0DC0 ? 67502D200000001 ?
main()+116 call opimai_real() 000000002 ? 7FBFFFF7D0 ?
000000004 ? 7FBFFFF768 ?
0059B0DC0 ? 67502D200000001 ?
__libc_start_main() call main() 000000002 ? 7FBFFFF7D0 ?
+219 000000004 ? 7FBFFFF768 ?
0059B0DC0 ? 67502D200000001 ?
_start()+42 call __libc_start_main() 000713988 ? 000000002 ?
7FBFFFF918 ? 005288D70 ?
000000000 ? 000000002 ?
--------------------- Binary Stack Dump ---------------------
这个SQL语句很长,查询了大量的列,且使用了DISTINCT,而且关联条件显得十分复杂,所以出现ORA-600错误也不奇怪。
检查MOS发现,问题和Bug 9022470 - Query optimization fails with OERI[19004] [ID 9022470.8]比较类似,除了当前的10204版本符合这个bug影响的版本外,堆栈信息错误完全符合这个bug的报错信息,而且在这个查询中,其中一个列确实在连接查询中出现了多次,这也同样符合bug的描述。
这个错误影响的版本包括10.2.0.4、11.1.0.7和11.2.0.1,Oracle在11.2.0.2中修复了这个bug。
对于这个错误,如果无法升级解决,那么只能通过修改SQL语法,或者尝试降低OPTIMIER_FEATURES_ENABLE的值来解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-718841/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-718841/