错误信息如下:
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错误都指向了这个错误,在下面三个文章中都有描述: