ORA-600(qcscbpcbua)错误

这是在11.2上碰到的第一个ORA-600错误。

 

 

执行树形查询时,出现了这个错误:

SQL> SELECT A.*, CONNECT_BY_ISCYCLE FLAG
  2  FROM T_TREE
  3  START WITH ID = 1
  4  CONNECT BY NOCYCLE PRIOR ID = FATHER_ID;
FROM T_TREE
     *
2 行出现错误:
ORA-00600:
内部错误代码, 参数: [qcscbpcbua], [], [], [], [], [], [], [], [], [], [], []


SQL> SELECT A.*, CONNECT_BY_ISCYCLE FLAG
  2  FROM T_TREE
  3  CONNECT BY NOCYCLE PRIOR ID = FATHER_ID;
SELECT A.*, CONNECT_BY_ISCYCLE FLAG
         *
1 行出现错误:
ORA-00904: "A":
标识符无效


SQL> SELECT A.*, CONNECT_BY_ISCYCLE FLAG
  2  FROM T_TREE A
  3  START WITH ID = 1
  4  CONNECT BY NOCYCLE PRIOR ID = FATHER_ID;

        ID  FATHER_ID NAME                                 FLAG
---------- ---------- ------------------------------ ----------
         1          1 A                                       1
         2          1 BC                                      0
         5          2 HIJ                                     0
         8          5 RSTU                                    0
         3          1 DE                                      0
         4          1 FG                                      0
         6          4 KLM                                     0
         7          6 NOPQ                                    0

已选择8行。

其实这个SQL本身写错了,在表名T_TREE后面忘了添加A作为别名。可以看到,随后的SQL去掉了START WITH语句,这时错误信息是正常的ORA-904:标识符无效。而如果加上别名A,则查询正常执行。

检查一下alert文件:

Errors in file /data/oracle/diag/rdbms/test112/test112/trace/test112_ora_6409.trc  (incident=9824):
ORA-00600:
内部错误代码, 参数: [qcscbpcbua], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /data/oracle/diag/rdbms/test112/test112/incident/incdir_9824/test112_ora_6409_i9824.trc

对应的trace文件中也看不到太多有用的信息:

[oracle@bjtest trace]$ more /data/oracle/diag/rdbms/test112/test112/incident/incdir_9824/test112_ora_6409_i9824.trc
Dump file /data/oracle/diag/rdbms/test112/test112/incident/incdir_9824/test112_ora_6409_i9824.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /data/oracle/product/11.2
System name:    Linux
Node name:      bjtest
Release:        2.6.18-8.el5xen
Version:        #1 SMP Tue Jun 5 23:53:34 EDT 2007
Machine:        x86_64
Instance name: test112
Redo thread mounted by this instance: 1
Oracle process number: 25
Unix process pid: 6409, image: oracle@bjtest (TNS V1-V3)


*** 2010-01-14 02:40:04.318
*** SESSION ID:(146.1225) 2010-01-14 02:40:04.318
*** CLIENT ID:() 2010-01-14 02:40:04.318
*** SERVICE NAME:(SYS$USERS) 2010-01-14 02:40:04.318
*** MODULE NAME:(SQL*Plus) 2010-01-14 02:40:04.318
*** ACTION NAME:() 2010-01-14 02:40:04.318
 
Dump continued from file: /data/oracle/diag/rdbms/test112/test112/trace/test112_ora_6409.trc
ORA-00600:
内部错误代码, 参数: [qcscbpcbua], [], [], [], [], [], [], [], [], [], [], []

========= Dump for incident 9824 (ORA 600 [qcscbpcbua]) ========

*** 2010-01-14 02:40:04.336
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=bgcxjm2snz7zb) -----
SELECT A.*, CONNECT_BY_ISCYCLE FLAG
FROM T_TREE
START WITH ID = 1
CONNECT BY NOCYCLE PRIOR ID = FATHER_ID

----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
skdstdst()+36        call     kgdsdst()            000000000 ? 000000000 ?
                                                   7FFFDFDABF08 ? 000000001 ?
                                                   7FFFDFDB0408 ? 000000000 ?
ksedst1()+98         call     skdstdst()           000000000 ? 000000000 ?
                                                   7FFFDFDABF08 ? 000000001 ?
                                                   000000000 ? 000000000 ?
ksedst()+34          call     ksedst1()            000000000 ? 000000001 ?
                                                   7FFFDFDABF08 ? 000000001 ?
                                                   000000000 ? 000000000 ?
dbkedDefDump()+2736  call     ksedst()             000000000 ? 000000001 ?
                                                   7FFFDFDABF08 ? 000000001 ?
                                                   000000000 ? 000000000 ?
ksedmp()+36          call     dbkedDefDump()       000000003 ? 000000002 ?
                                                   7FFFDFDABF08 ? 000000001 ?
                                                   000000000 ? 000000000 ?
ksfdmp()+64          call     ksedmp()             000000003 ? 000000002 ?
                                                   7FFFDFDABF08 ? 000000001 ?
                                                   000000000 ? 000000000 ?
dbgexPhaseII()+1764  call     ksfdmp()             000000003 ? 000000002 ?
                                                   7FFFDFDABF08 ? 000000001 ?
                                                   000000000 ? 000000000 ?
dbgexProcessError()  call     dbgexPhaseII()       2AAAAC2EF6F0 ? 2AAAAC2F03F0 ?
+2279                                              7FFFDFDB81F8 ? 000000001 ?
                                                   000000000 ? 000000000 ?
dbgeExecuteForError  call     dbgexProcessError()  2AAAAC2EF6F0 ? 2AAAAC2F03F0 ?
()+83                                              000000001 ? 000000000 ?
                                                   7FFF00000000 ? 000000000 ?
dbgePostErrorKGE()+  call     dbgeExecuteForError  2AAAAC2EF6F0 ? 2AAAAC2F03F0 ?
1615                          ()                   000000001 ? 000000001 ?
                                                   000000000 ? 000000000 ?
dbkePostKGE_kgsf()+  call     dbgePostErrorKGE()   000000000 ? 2AAAAC831168 ?
63                                                 000000258 ? 2AAAAC2F03F0 ?
                                                   000000000 ? 000000000 ?
kgeadse()+383        call     dbkePostKGE_kgsf()   00A99D520 ? 2AAAAC831168 ?
                                                   000000258 ? 2AAAAC2F03F0 ?
                                                   000000000 ? 000000000 ?
kgerinv_internal()+  call     kgeadse()            00A99D520 ? 2AAAAC831168 ?
45                                                 000000258 ? 000000000 ?
                                                   000000000 ? 000000000 ?
kgerinv()+33         call     kgerinv_internal()   00A99D520 ? 2AAAAC831168 ?
                                                   DFDB079000000000 ?
                                                   000000258 ? 000000000 ?
                                                   000000000 ?
kgeasnmierr()+143    call     kgerinv()            00A99D520 ? 2AAAAC831168 ?
                                                   DFDB079000000000 ?
                                                   000000000 ? 000000000 ?
                                                   000000000 ?
qcspcbua()+541       call     kgeasnmierr()        00A99D520 ? 2AAAAC831168 ?
                                                   DFDB079000000000 ?
                                                   000000000 ? 0086F3390 ?
                                                   0000001A0 ?
qcspqbDescendents()  call     qcspcbua()           000000000 ? 00A99D520 ?
+3073                                              2AAAAC828288 ? 000000000 ?
                                                   0086F3390 ? 0000001A0 ?
qcspqb()+195         call     qcspqbDescendents()  7FFFDFDB95C0 ? 2AAAAC823090 ?
                                                   2AAAAC825820 ? 000000000 ?
                                                   0086F3390 ? 0000001A0 ?
qcsevw()+401         call     qcspqb()             7FFFDFDB95C0 ? 2AAAAC823090 ?
                                                   2AAAAC825820 ? 000000000 ?
                                                   0086F3390 ? 0000001A0 ?
qcsfpsq()+111        call     qcsevw()             7FFFDFDB95C0 ? 00A99D520 ?
                                                   2AAAAC825250 ? 2AAAAC825820 ?
                                                   0086F3390 ? 0000001A0 ?
kkmfcbsq()+236       call     qcsfpsq()            7FFFDFDB95C0 ? 00A99D520 ?
                                                   2AAAAC825250 ? 2AAAAC825820 ?
                                                   0086F3390 ? 0000001A0 ?
__PGOSF154_kkmpfcbk  call     kkmfcbsq()           7FFFDFDB95C0 ? 2AAAAC825250 ?
()+970                                             1CEEB8808 ? 7FFFDFDB95C0 ?
                                                   000000000 ? 0000001A0 ?
qcsprfro()+597       call     __PGOSF154_kkmpfcbk  7FFFDFDB95C0 ? 00A99D520 ?
                              ()                   2AAAAC825250 ? 000000002 ?
                                                   000000000 ? 0000001A0 ?

最后查询了metalink,没想到这么新的bug也有记录:Bug 9182312: SELECT RETURNS ORA-0600 [QCSCBPCBUA]。简单的说就是Oracle在应该返回ORA-904错误的地方返回了ORA-600这个内部错误。至于引发的原因Oracle没有提,不过根据上面的错误判断,至少问题与树形查询的START WITH有关。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-625261/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4227/viewspace-625261/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值