錯誤信息如下:
Errors in file /data/oracle/ora92/admin/data01/udump/data01_ora_28264.trc:
ORA-00600: internal error code, arguments: [15599], [], [], [], [], [], [], []
對應的trace文件中信息如下:
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [15599], [], [], [], [], [], [], []
Current SQL statement for this session:
select count(*) from (select t.permit_number,t.product_name ,t.english_name ,t.manufacture_dept ,t.doseage ,
t.spec ,t.trade_name ,t.old_permit_number ,t.url ,t.create_month from sfda_product_china t where t.create_mo
nth=15 and t.product_name like :1 and t.manufacture_dept like :2)
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedmp()+328 CALL ksedst()+0 FFFFFFFF7FFFA670 ?
000000000 ? 000000000 ?
00000003E ?
FFFFFFFF7FFFAF08 ?
1031C8238 ?
kgeriv()+208 PTR_CALL 0000000000000000 000000000 ? 000103400 ?
0001035CC ? 000102C00 ?
1035CC000 ? 1035CC128 ?
kgeasi()+180 CALL kgeriv()+0 1035CC388 ? 1036ED828 ?
000000258 ? 0000013C8 ?
FFFFFFFF7FFFB7A8 ?
1035CD758 ?
qerhjIterateOverBuf CALL kgeasi()+0 1035CC388 ? 1036ED828 ?
fers()+240 000003CEF ? 000000002 ?
000000000 ? 00000000F ?
ksxb1inc()+132 PTR_CALL 0000000000000000 000000000 ? 000000370 ?
FFFFFFFF7CF746C0 ?
FFFFFFFF7CF746B0 ?
00000006E ? 10159F8C0 ?
kxhrPhash()+304 CALL ksxb1inc()+0 FFFFFFFF7FFFBA88 ?
000001FE8 ?
FFFFFFFFFFFFFFFD ?
FFFFFFFF78F291CB ?
FFFFFFFF78F291CB ?
000000001 ?
qerhjBuildHashTable CALL kxhrPhash()+0 FFFFFFFF78F291CB ?
()+892 FFFFFFFF7FFFBA88 ?
FFFFFFFF78F291CF ?
000000C2D ? 000000C34 ?
FFFFFFFF78F291CA ?
qerhjFetch()+1000 CALL qerhjBuildHashTable 000008F1E ? 1038129A0 ?
()+0 000100000 ?
FFFFFFFF7CF70D38 ?
000000001 ?
FFFFFFFF7AC20CE0 ?
qervwFetch()+148 PTR_CALL 0000000000000000 00209E846 ?
FFFFFFFF7CF70850 ?
FFFFFFFF7CF70D40 ?
101590720 ?
FFFFFFFF7FFFBD28 ?
000007FFF ?
qergsFetch()+2256 PTR_CALL 0000000000000000 441859F50 ? 10178BA40 ?
FFFFFFFF7CF70CF0 ?
000007FFF ? 000101400 ?
000101590 ?
opifch2()+1724 PTR_CALL 0000000000000000 000101400 ?
FFFFFFFF7CF70AE0 ?
000000000 ? 00000000A ?
100F85240 ? 441859EC0 ?
opifch()+60 CALL opifch2()+0 000100C00 ? 000000043 ?
100F85240 ? 0000000C9 ?
FFFFFFFF7FFFC640 ?
000102C00 ?
SQL本身很簡單,就是一個單表掃描。
查詢了一下ORA-600的15599錯誤,發現唯一一個已知bug描述,是和HASH JOIN有關,而當前這個SQL顯然不會包括HASH JOIN執行計劃。
仔細查詢了metalink,發現問題和Bug No. 3479075描述的十分類似:首先都是ORA-600的15599錯誤,而且受影響的Oralce版本都是9204。最重要的是,Oracle錯誤函數堆棧的錯誤信息是一致的:qerhjIterateOverBuffers, ksxb1inc, kxhrPhash, qerhjBuildHashTable, qerhjFetch, qerjoFetch, qergsFetch。
這個bug被認為是Bug No. 2805580的重復描述,而Bug No. 2805580已經不是第一次出現了,以前碰到過多次的ORA-7445和ORA-600錯誤都指向了這個錯誤,在下面三個文章中都有描述: