数据库报ORA-00600[qmxtriCheckAndRewriteQb0]
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
ORACLE_HOME = /u01/oracle/product/10.2.0
System name: AIX
Node name: abc
Release: 3
Version: 5
Machine: 00C58A644C00
Instance name: XFF2
Redo thread mounted by this instance: 2
Oracle process number: 434
Unix process pid: 492340, image: oracle@abc
*** ACTION NAME:() 2012-11-12 08:46:47.132
*** MODULE NAME:() 2012-11-12 08:46:47.132
*** SERVICE NAME:(ORCL) 2012-11-12 08:46:47.132
*** CLIENT ID:() 2012-11-12 08:46:47.132
*** SESSION ID:(870.58602) 2012-11-12 08:46:47.132
*** 2012-11-12 08:46:47.132
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [qmxtriCheckAndRewriteQb0], [], [], [], [], [], [], []
Current SQL statement for this session:
SELECT EXTRACTVALUE(配置,'//SYSTEM[@XTH="'||:B1 ||'"]/FILE') ,
WHERE EXTRACTVALUE(配置,'//SYSTEM[@XTH="'||:B1 ||'"]/BM')=:B2 AND ROWNUM<2
----- PL/SQL Call Stack -----
object line object
handle number name
70000021d535f70 25 procedure ZLTOOLS.ZL_MBRUNLOG_INSERT
7000002b6819368 1 anonymous block
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst+001c bl ksedst1 000000000 ? 000000000 ?
ksedmp+0290 bl ksedst 104A2C690 ?
ksfdmp+0018 bl 03F26C3C
kgerinv+00dc bl _ptrgl
kgeasnmierr+004c bl kgerinv 7000002F735A838 ? 000000000 ?
000000000 ? 000000000 ?
0FFFFBFFF ?
IPRA.$qmxtriCheckAn bl 03F25970
dRewriteQb_rec+0194
IPRA.$qmxtriCheckAn bl IPRA.$qmxtriCheckAn 1000881EC ? 000000000 ?
dRewriteQb_rec+006c dRewriteQb_rec 000000000 ?
IPRA.$qmxtriCheckAn bl IPRA.$qmxtriCheckAn FFFFFFFFFFF07E0 ? 000000033 ?
dRewriteQb_rec+006c dRewriteQb_rec 1056037F8 ?
qmxtriCheckAndRewri bcl dmqlKMlod+00c0 000000000 ? 110421CB0 ?
teQb+0094 FFFFFFFFFFE87C0 ?
qmxtrxq+0210 bl 03F252EC
qmxtrxop+00a4 bl qmxtrxq FFFFFFFFFFF25B8 ?
700000282F66DD0 ? 110195E98 ?
koksspend+02b0 bl qmxtrxop 100346AB4 ?
kkmdrvend+01a8 bl koksspend 000000001 ? 104B3A8A8 ?
000000000 ?
kkmdrv+004c bl kkmdrvend FFFFFFFFFFE8BE0 ?
883843401048F2F8 ?
opiSem+13c0 bl kkmdrv 000000000 ? 000000000 ?
000000000 ? 11022AC50 ?
opiDeferredSem+0234 bl opiSem FFFFFFFFFFE9CE0 ?
7000001E327CCE0 ? 000000111 ?
100000001 ?
opitca+01e8 bl opiDeferredSem
kksFullTypeCheck+00 bl 03F25230
1c
rpiswu2+034c bl _ptrgl
kksSetBindType+0d28 bl rpiswu2 70000030850C178 ?
3300000033 ?
FFFFFFFFFFF0570 ?
FFFFFFFFFFF0578 ?
7000002F6F0C700 ?
33104027D8 ?
FFFFFFFFFFF1F48 ? 000000000 ?
kksfbc+1054 bl kksSetBindType 70000030F58F400 ? 1107CB418 ?
70000001003B800 ?
10200003000 ? 110000FF8 ?
7000000100ECAB8 ?
FFFFFFFFFFF1480 ?
481A408400003000 ?
opiexe+098c bl 01F960BC
opipls+185c bl opiexe FFFFFFFFFFF3900 ?
FFFFFFFFFFF39E8 ?
FFFFFFFFFFF38A0 ?
opiodr+0ae0 bl _ptrgl
rpidrus+01bc bl opiodr 66FFFF54B0 ? 608736A20 ?
FFFFFFFFFFF67C0 ?
1510195E98 ?
skgmstack+00c8 bl _ptrgl
rpidru+0088 bl skgmstack 102320840 ? 000000000 ?
000000002 ? 000000000 ?
FFFFFFFFFFF5F88 ?
rpiswu2+034c bl _ptrgl
rpidrv+095c bl rpiswu2 70000030850C178 ? 110469C28 ?
11044AA58 ? 000000000 ?
FFFFFFFFFFF5D60 ?
3300000000 ? 000000000 ?
000000000 ?
psddr0+02bc bl 03F266D4
psdnal+01d0 bl psddr0 1500000000 ? 6600000000 ?
FFFFFFFFFFF67C0 ?
30100BACC8 ?
pevm_EXECC+01f8 bl _ptrgl
pfrinstr_EXECC+0070 bl pevm_EXECC 10147B2A4 ? 000000000 ?
700000262828B72 ?
pfrrun_no_tool+005c bl _ptrgl
pfrrun+1014 bl pfrrun_no_tool FFFFFFFFFFF6B20 ?
7000002B6819368 ? 3100ECBB0 ?
plsql_run+06b4 bl pfrrun 1107D84A8 ?
peicnt+0224 bl plsql_run 1107D84A8 ? 10001102676F8 ?
000000000 ?
kkxexe+0250 bl peicnt FFFFFFFFFFF7E38 ? 1107D84A8 ?
opiexe+2ef8 bl kkxexe 11047E1C8 ?
kpoal8+0edc bl opiexe FFFFFFFFFFFB454 ?
FFFFFFFFFFFB1A8 ?
FFFFFFFFFFF9628 ?
opiodr+0ae0 bl _ptrgl
ttcpip+1020 bl _ptrgl
opitsk+1124 bl 01F96AC8
opiino+0990 bl opitsk 0FFFFD490 ? 000000000 ?
opiodr+0ae0 bl _ptrgl
opidrv+0484 bl 01F95914
sou2o+0090 bl opidrv 3C02D99B7C ? 4A076D928 ?
FFFFFFFFFFFF390 ?
opimai_real+01bc bl 01F93294
main+0098 bl opimai_real 000000000 ? 000000000 ?
__start+0098 bl main 000000000 ? 000000000 ?
--------------------- Binary Stack Dump ---------------------
通过这个trace的部分信息可以得到:
1.操作系统版本AIX x64(5.3)
2.数据库版本10.2.0.4
3.sql语句调用EXTRACTVALUE函数
4.Call Stack Trace信息
查询MOS[ID 467350.1]发现匹配信息
Cause Bug 6030982 ORA-600 [QMXTRICHECKANDREWRITEQB0] WITH QUERY USING EXTRACTVALUE FUNCTION Solution This bug is going to be fixed in furture 10.2.0.5.0 and 11g At the mean time , user can workaround by set event = "19027 trace name context forever, level 1" within init.ora or spfile file then bounce database. or SQL> alter session set events ='19027 trace name context forever, level 1'; SQL> Alter system flush shared_pool; -- Execute affected query
通过mos可以确定:
1.是因为数据库执行EXTRACTVALUE函数遇到该bug
2.在11g和10.2.0.5中修复该bug
3.可以通过设置event = “19027 trace name context forever, level 1″来临时解决该问题
个人处理建议
1.如果数据库方便升级,那建议升级处理
2.如果数据库不便立马升级,建议在业务低估时设置session event 19027,然后 flush shared_pool,执行报错sql,如果问题解决,在合适时间设置system event来临时屏蔽该问题.
