在版本11.2.0.1.0上,在pl/sql developer中执行一条SQL会导致连接中断,这种错误要到trace目录下找到错误日志文件,再定位。查了一下资料,是这个版本的bug。
Dump continued from file: d:\app\gcp\diag\rdbms\orcl\orcl\trace\orcl_ora_6040.trc
ORA-07445: 出现异常错误: 核心转储 [kkqljpmpr()+22] [ACCESS_VIOLATION] [ADDR:0x78] [PC:0x56341C6] [UNABLE_TO_READ] []
========= Dump for incident 24395 (ORA 7445 [kkqljpmpr()+22]) ========
----- Beginning of Customized Incident Dump(s) -----
Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x78] [PC:0x56341C6, kkqljpmpr()+22]
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
Process Id: 0x000020f4 Thread Id : 0x00001798 Time : Mon Dec 15 18:26:51
Excp. Code: 0xc0000005 Excp. Type: ACCESS_VIO Flags: 0x00000000
------------------- Registers ----------------------------
ip=00000000056341C6 sp=000000002A0A5C80 rp=0000000000000000
r1=00000000292C1640 r2=00000000292C1640 r3=000000002933E9B0
r4=00000000292C1640 r5=000000002A0A5C80 r6=0000000000000000 r7=0000000000020B78
r8=0000000000000000 r9=00000000292CFD60 r10=0000000000000000 r11=0000000000000002
r12=0000000000000005 r13=0000000029348ED0 r14=0000000000000001 r15=00000000292C1640
------------------- End of Registers ---------------------
*** 2014-12-15 18:26:51.745
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=gsak3fq15mt5b) -----
with
dt2 as (select count(1) over() total$,1 null_flag_,row_number() over(order by null) rn,
T2.ID factor1,
T1.ID CN_1,
T1.BUREAU_CODE CN_2,
T1.DEVICE_CODE CN_3
from DM_DEVICE T1,SP_PD_DEFECT T2
where T1.ID=T2.DEVICE_ID
and 1=1
and rownum <= 10),
sc as (select row_number() over(order by null) rn,
COUNT(DISTINCT factor1) factor1
from dt2 dt
where 1=1
GROUP BY 1),
cal as (select row_number() over(order by max(rn),grouping(1)) rn,grouping(1) gp,
max(factor1) C_0_1
from sc
group by rollup(1))
select max(dt.total$) over() total$,row_number() over(order by cal.rn,dt.rn) rn,gp,
case when gp = 1 then cal.C_0_1 end C_0_1,
dt.CN_1,
dt.CN_2,
dt.CN_3
from cal
left join dt2 dt
on gp=0 and dt.rn <= 5000
where gp = 1 or (gp = 0 and dt.null_flag_ is not null)
order by cal.rn,dt.rn
这是一个bug,如果不改SQL的话,只有通过打补丁的方式解决。
ORA-7445 [kkqljpmpr] (文档 ID 1288400.1) | 转到底部 |
In this Document APPLIES TO:Oracle Server - Enterprise Edition Information in this document applies to any platform. PURPOSENote: For additional ORA-7445 related information please read Document 1092855.1. This article provides information on one or more bugs that are known to result in the given ORA-7445 error. SCOPEERROR: ORA-7445 failing function "kkqljpmpr" ORA-7445 [KKQLJPMPR]SUGGESTIONS: If the Known Issues section below does not help in terms of identifying a solution, please submit the trace files and alert.log to Oracle Support Services for further analysis. Known Issues: Known Bugs
|
|