ORA-600(qerrmOStart2)错误

客户11.2.0.2 RAC for Solaris 10出现ORA-600错误。
错误信息为:

Fri May 11 14:22:45 2012
Errors IN file /oracle/diag/rdbms/orcl/orcl2/trace/orcl2_ora_25552.trc (incident=194913):
ORA-00600: 内部错误代码, 参数: [qerrmOStart2], [1740], [ORA-01740: 标识符中缺失双引号
], [], [], [], [], [], [], [], [], []
Incident details IN: /oracle/diag/rdbms/orcl/orcl2/incident/incdir_194913/orcl2_ora_25552_i194913.trc
Fri May 11 14:23:29 2012
Fri May 11 14:23:29 2012
Dumping diagnostic DATA IN directory=[cdmp_20120511142329], requested BY (instance=2, osid=25552), summary=[incident=194913].Use ADRCI OR Support Workbench t
o package the incident.
See Note 411.1 at My Oracle Support FOR error AND packaging details.
Exception [TYPE: SIGSEGV, Stack Overflow] [ADDR:0x8] [PC:0x10611C144, qerrmOdcl()+36] [flags: 0x0, COUNT: 1]
Errors IN file /oracle/diag/rdbms/orcl/orcl2/trace/orcl2_ora_25552.trc (incident=194914):
ORA-07445: 出现异常错误: 核心转储 [qerrmOdcl()+36] [SIGSEGV] [ADDR:0x8] [PC:0x10611C144] [Stack Overflow] []
ORA-00600: 内部错误代码, 参数: [qerrmOStart2], [1740], [ORA-01740: 标识符中缺失双引号
], [], [], [], [], [], [], [], [], []
Incident details IN: /oracle/diag/rdbms/orcl/orcl2/incident/incdir_194914/orcl2_ora_25552_i194914.trc
USE ADRCI OR Support Workbench TO package the incident.
See Note 411.1 at My Oracle Support FOR error AND packaging details.
Fri May 11 14:23:30 2012
Sweep [inc][194913]: completed
Sweep [inc][194914]: completed
Sweep [inc2][194913]: completed

虽然这个操作在MOS没有相关描述,但是根据错误信息分析,这个ORA-600只是标识作用,真正的错误是随后参数中的ORA-1740错误。而这个错误信息更像是一个语句分析的错误。

$ more /oracle/diag/rdbms/orcl/orcl2/incident/incdir_194913/orcl2_ora_25552_i194913.trc
Dump file /oracle/diag/rdbms/orcl/orcl2/incident/incdir_194913/orcl2_ora_25552_i194913.trc
Oracle DATABASE 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
WITH the Partitioning, REAL Application Clusters, OLAP, DATA Mining
AND REAL Application Testing options
ORACLE_HOME = /oracle/product/11.2.0/dbhome_1
System name:    SunOS
Node name:      orcl2
Release:        5.10
Version:        Generic_147440-02
Machine:        sun4u
Instance name: orcl2
Redo thread mounted BY this instance: 2
Oracle process NUMBER: 364
Unix process pid: 25552, image: oracle@orcl2
 
 
*** 2012-05-11 14:22:45.579
*** SESSION ID:(1590.33807) 2012-05-11 14:22:45.579
*** CLIENT ID:() 2012-05-11 14:22:45.579
*** SERVICE NAME:(orcl) 2012-05-11 14:22:45.579
*** MODULE NAME:(PL/SQL Developer) 2012-05-11 14:22:45.579
*** ACTION NAME:(SQL Window - NEW) 2012-05-11 14:22:45.579
 
Dump continued FROM file: /oracle/diag/rdbms/orcl/orcl2/trace/orcl2_ora_25552.trc
ORA-00600: 内部错误代码, 参数: [qerrmOStart2], [1740], [ORA-01740: 标识符中缺失双引号
], [], [], [], [], [], [], [], [], []
 
========= Dump FOR incident 194913 (ORA 600 [qerrmOStart2]) ========
 
*** 2012-05-11 14:22:45.606
dbkedDefDump(): Starting incident DEFAULT dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=2z1m6fp3p7qjd) -----
SELECT o_no,
       c_state,
       d_state,
       D_CONTENT,
       O_TIME,
       o_id,
       O_NAME,
       l_name,
       l_order
 FROM
(SELECT b.o_no,a.c_state,'' d_state, a.D_CONTENT,a.O_TIME,a.o_id,a.O_NAME,
       l_name,l_order,
       ROW_NUMBER() OVER(PARTITION BY a.O_ID ORDER BY a.O_TIME DESC) RN
  FROM T_O_D@DB_A A, T_B_O@DB_A B,t_b_o_l@db_a c
 WHERE A.O_ID = B.O_ID
   AND a.o_id = c.o_id
   AND A.O_TIME >= TRUNC(SYSDATE - 1)
   AND A.O_TIME < TRUNC(SYSDATE)
   AND NOT EXISTS (SELECT 1
          FROM T_B_O_E@DB_A O
         WHERE O.O_ID = A.O
           AND O.O_TIME >= TRUNC(SYSDATE - 1)
           AND O.O_TIME < TRUNC(SYSDATE))
    UNION ALL
SELECT b.o_no,a.c_state, 'TK',a.s_remark,a.O_TIME,a.o_id,a.O_NAME,
       l_name,l_order,
       ROW_NUMBER() OVER(PARTITION BY a.O_ID ORDER BY a.O_TIME DESC) RN
  FROM T_B_O_E@DB_A A, T_B_O@DB_A B,t_b_o_l@db_a c
 WHERE A.O_ID = B.O_ID
   AND a.o_id = c.o_id
   AND A.O_TIME >= TRUNC(SYSDATE - 1)
   AND A.O_TIME < TRUNC(SYSDATE)
   AND b.r_time >= TRUNC(SYSDATE - 1)
   AND b.r_time < TRUNC(SYSDATE)
   AND b.p_state = '2'
   AND a.e_type = '14'
    UNION ALL
SELECT b.o_no,a.c_state,'TD', a.s_remark,a.O_TIME,a.o_id,a.O_NAME,
       l_name,l_order,
       ROW_NUMBER() OVER(PARTITION BY a.O_ID ORDER BY a.O_TIME DESC) RN
  FROM T_B_O_E@DB_A  A, T_B_O@DB_A B,t_b_o_l@db_a c
 WHERE A.O_ID = B.O_ID
   AND a.o_id = c.o_id
   AND A.O_TIME >= TRUNC(SYSDATE - 1)
   AND A.O_TIME < TRUNC(SYSDATE)
   AND b.c_tag = '1'
   AND a.e_type = '04'
UNION ALL
SELECT to_char(P_ID), STATE, DECODE(STATE, '1', 'S', '2', 'ZDTD'), NULL,
       U_TIME, NULL, NULL, NULL, NULL, 1
  FROM T_B_B_I@DB_A A
 WHERE STATE IN ('1', '2')
   AND SCODE = 'EMAL'
   AND U_TIME >= TRUNC(SYSDATE - 1)
   AND U_TIME < TRUNC(SYSDATE))
   WHERE rn = 1
 
----- Call Stack Trace -----
calling              CALL     entry                argument VALUES IN hex      
location             TYPE     point                (? means dubious VALUE)     
-------------------- -------- -------------------- ----------------------------
ksedst1()+96         CALL     skdstdst()           FFFFFFFF7FFEEED0 ?
                                                   1006B0C80 ? 000000000 ?
                                                   00000000A ? 000000001 ?
                                                   10BD95B00 ?
ksedst()+60          CALL     ksedst1()            000000000 ? 000000001 ?
                                                   00010C212 ? 00010C000 ?
                                                   10C20A000 ? 00010C20A ?
dbkedDefDump()+2032  CALL     ksedst()             000000000 ? 10B25B000 ?
                                                   10B25B2B0 ? 10C212000 ?
                                                   00010B000 ? 00010C212 ?
dbgexPhaseII()+1800  PTR_CALL dbkedDefDump()       000000003 ? 000000002 ?
                                                   10A6EC2C8 ? 0000014B0 ?
                                                   10C20A000 ? 000000003 ?
dbgexProcessError()  CALL     dbgexPhaseII()       10C3B4650 ?
+1248                                              FFFFFFFF7BE3A578 ?
                                                   FFFFFFFF7FFF3C28 ?
                                                   0018E0000 ? 10A6E35B8 ?
                                                   000001C00 ?
dbgePostErrorKGE()+  CALL     dbgeExecuteForError  10AE0C3FD ?
1320                          ()                   FFFFFFFFFEC0B62D ?
                                                   001050000 ?
                                                   FFFFFFFF7FFF63D8 ?
                                                   001060000 ? 000000028 ?
dbkePostKGE_kgsf()+  CALL     dbgePostErrorKGE()   10C20AC90 ? 000000000 ?
44                                                 FFFFFFFF7BE3A578 ?
                                                   000000000 ? 000000258 ?
                                                   00010C000 ?
kgerinv_internal()+  CALL     kgeadse()            10C20AC90 ?
72                                                 FFFFFFFF7BC22F20 ?
                                                   000000258 ? 000002868 ?
                                                   10A6E4000 ? 00010A6E4 ?
kgerinv()+40         CALL     kgerinv_internal()   10C20AC90 ? 004EA2360 ?
                                                   10BC2F628 ? 000000258 ?
                                                   000000000 ? 000000002 ?
kgesinv()+20         CALL     kgerinv()            10C20AC90 ?
                                                   FFFFFFFF7BC22F20 ?
                                                   10BC2F628 ? 000000002 ?
                                                   FFFFFFFF7FFF7840 ?
                                                   000001400 ?
ksesin()+92          CALL     kgesinv()            10C20AC90 ?
                                                   FFFFFFFF7BC22F20 ?
                                                   10BC2F628 ? 000000002 ?
                                                   FFFFFFFF7FFF7840 ?
                                                   00010C212 ?
OCIKSIN()+412        CALL     ksesin()             10BC2F628 ? 10C212000 ?
                                                   00010C000 ? 00010C000 ?
                                                   00010C20A ? 00010C212 ?
qerrmOStart()+516    CALL     OCIKSIN()            FFFFFFFFFFFFFFFF ?
                                                   0000006CC ? 10BC2F628 ?
                                                   00010BA9D ? 10BA9D890 ?
                                                   FFFFFFFF7FFF786C ?
qerrmStart()+1528    CALL     qerrmOStart()        10E603CD58 ?
                                                   FFFFFFFF7BC68170 ?
                                                   000000000 ?
                                                   FFFFFFFF7DF91088 ?
                                                   000106000 ?
                                                   FFFFFFFF7BC67F2C ?
selexe0()+976        PTR_CALL qerrmStart()         FFFFFFFF7BC68170 ?
                                                   000000003 ? 10E603CD58 ?
                                                   FFFFFFFF7BC75250 ?
                                                   000000001 ?
                                                   FFFFFFFF7DFBE5C8 ?
opiexe()+11664       CALL     selexe0()            FFFFFFFF7BC367C8 ?
                                                   10C21FAE0 ?
                                                   FFFFFFFF7BC41C90 ?
                                                   000000000 ? 10E60B2EE0 ?
                                                   10C21F000 ?
kpoal8()+2368        CALL     opiexe()             000000049 ? 000000003 ?
                                                   FFFFFFFF7FFF9E8C ?
                                                   000000000 ? 000000000 ?
                                                   0BFFFFFFF ?
opiodr()+1428        PTR_CALL kpoal8()             00000005E ? 00000001C ?
                                                   FFFFFFFF7FFFD348 ?
                                                   00010C000 ? 10C20A000 ?
                                                   000001648 ?
ttcpip()+1056        PTR_CALL opiodr()             00010A795 ? 00000001C ?
                                                   103EAD460 ? 00010A400 ?
                                                   000001400 ? 10C20A000 ?
opitsk()+1528        CALL     ttcpip()             000000000 ? 10A6C7694 ?
                                                   10C20AC90 ?
                                                   FFFFFFFF7FFFD348 ?
                                                   FFFFFFFF7FFFBD90 ?
                                                   10C221848 ?
opiino()+1000        CALL     opitsk()             10A6C7694 ? 10C226C98 ?
                                                   10C221654 ? 10C21F958 ?
                                                   000000000 ? 10C20A950 ?
opiodr()+1428        PTR_CALL opiino()             00010C000 ? 10C2216D0 ?
                                                   10C2216D0 ? 000380000 ?
                                                   0000000EB ?
                                                   FFFFFFFF7FFFECA0 ?
opidrv()+1100        CALL     opiodr()             10C221000 ? 000000004 ?
                                                   1035DD740 ? 00010C000 ?
                                                   000001400 ? 10C20A000 ?
sou2o()+92           CALL     opidrv()             00000003C ? 000000004 ?

显然这是PL/DEVELOPER执行或解析语句的时候引发的问题,本质上是一个普通的编译错误,但是Oracle将其作为内部ORA-600错误报了出来。
对于这个错误可以简单的忽略。

This entry was posted in BUG and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *