ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-600(kkocxj : pjpCtx)错误

ORA-600(kkocxj : pjpCtx)错误

原创 Linux操作系统 作者:yangtingkun 时间:2010-12-03 23:56:32 0 删除 编辑

在数据库的错误日志中发现了这个错误。

 

 

数据库版本为11.1.0.6 RACalert文件中错误信息如下:

Errors in file /db/oracle/app/oracle/diag/rdbms/ora00/ora001/trace/ora001_ora_5879.trc  (incident=409507):
ORA-00600:
内部错误代码, 参数: [kkocxj : pjpCtx], [], [], [], [], [], [], []
Incident details in: /db/oracle/app/oracle/diag/rdbms/ora00/ora001/incident/incdir_409507/ora001_ora_5879_i409507.trc

而对应trace的详细信息为:

Dump continued from file: /db/oracle/app/oracle/diag/rdbms/ora00/ora001/trace/ora001_ora_5879.trc
ORA-00600:
内部错误代码, 参数: [kkocxj : pjpCtx], [], [], [], [], [], [], []

========= Dump for incident 409507 (ORA 600 [kkocxj : pjpCtx]) ========

*** 2010-12-01 18:01:15.145
----- Current SQL Statement for this session (sql_id=6kqj2b3sbx8u9) -----
select * from (select c.policyno,e.empname,e.SECDEPTNAME,f.chnname  ,sum(nvl(b.applynum,0)) thisapplynum,sum(nvl(b.applysum,0)) thisapplysum  ,sum(a.auditnum) thisauditnum,sum(a.auditsum) thisauditsum  ,sum(a.auditsum)*100/sum(b.applysum) auditrate  from   (  select t2.policyno,count(buyerquotano) auditnum,sum(quotasum) auditsum   from t_1 t1,t_2 t2   where t1.childpolicyno=t2.childpolicyno and to_char(t1.auditdate,'yyyy-mm')='2010-01'   and ifnewadd='1'   group by t2.policyno   ) a,  (      select t1.policyno,count(t1.quotaapplyno) applynum,sum(quotasumapply) applysum   from t_3 t1,t_4 t2,t_5 t3   where t1.quotaapplyno=t2.quotaapplyno and  t2.childpolicyno=t3.childpolicyno and to_char(t2.auditdate,'yyyy-mm')='2010-01'   and t2.ifnewadd='1' and t1.commitflag in ('1','2','3')   group by t1.policyno   ) b,     t_6 c,t_7 d,v_e e,t_8 f  where a.policyno=c.policyno(+)     and a.policyno=b.policyno(+)  and a.policyno=e.PRODUCTID(+) and c.insurantno=f.exportno and c.nodeid=d.nodeid   and  d.corpid='4403'    group by c.policyno,e.empname,e.SECDEPTNAME,f.chnname) order by thisapplysum desc

----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
ksedst1()+96         CALL     skdstdst()           FFFFFFFF7FFEB650 ?
                                                   000335800 ?
                                                   FFFFFFFF7FFC31D8 ?
                                                   000000000 ?
                                                   FFFFFFFF7FFC31D8 ?
                                                   1095E7FB0 ?
ksedst()+56          CALL     ksedst1()            000000000 ? 000000001 ?
                                                   00010992B ? 000109800 ?
                                                   109923000 ? 000109923 ?
dbkedDefDump()+1388  CALL     ksedst()             000000000 ? 000000000 ?
                                                   000000000 ? 000000000 ?
                                                   10992B000 ? 00010992B ?
dbgexPhaseII()+760   PTR_CALL 0000000000000000     10992B000 ? 000109800 ?
                                                   10992B000 ? 000109800 ?
                                                   00010992B ? 10993D000 ?
dbgexProcessError()  CALL     dbgexPhaseII()       109A2E780 ? 109A37480 ?
+996                                               FFFFFFFF7FFECB38 ?
                                                   001050005 ? 001376000 ?
                                                   000000000 ?
dbgePostErrorKGE()+  CALL     dbgeExecuteForError  001050000 ? 000000002 ?
1124                          ()                   001060000 ? 041415800 ?
                                                   109A37480 ? 0002F7C00 ?
kgerinv_internal()+  CALL     kgeadse()            000000000 ? 000000000 ?
68                                                 1085A7620 ? 000000001 ?
                                                   000000258 ?
                                                   FFFFFFFF7FFF01E8 ?
kgerinv()+40         CALL     kgerinv_internal()   1099242E8 ?
                                                   FFFFFFFF7D022040 ?
                                                   109132F30 ? 000000258 ?
                                                   000000000 ? 1085AF330 ?
kgeasnmierr()+28     CALL     kgerinv()            1099242E8 ?
                                                   FFFFFFFF7D022040 ?
                                                   109132F30 ? 000000000 ?
                                                   FFFFFFFF7FFF0560 ?
                                                   000001400 ?
kkocxj()+1192        CALL     kgeasnmierr()        1099242E8 ?
                                                   FFFFFFFF7D022040 ?
                                                   109132F30 ? 000000000 ?
                                                   109923000 ? 10992B000 ?
kkoiqb()+10492       CALL     kkocxj()             FFFFFFFF7C7FE7B0 ?
                                                   FFFFFFFF7C7FEFC8 ?
                                                   000109800 ? 000000002 ?
                                                   FFFFFFFF7CA70D80 ?
                                                   008000000 ?

这个SQL相对比较复杂,内存是两个包含GROUP BY的子查询,外层还包含了外连接以及GROUP BY

查询了metalink,感觉问题描述和文档ID 9671977.8描述的十分接近,这个问题在11.1上会出现。通过设置隐含参数_OPTIMIZER_PUSH_PRED_COST_BASEDFALSE可以避免这个错误的产生。

 

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

下一篇: ORA-3137(12333)错误
请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10455676