欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

报错:ORA-07445: exception encountered: core dump [kkqtnloCbk()

程序员文章站 2022-05-30 19:09:48
...

于是又问他是所有应用都报错,还是某个报错,反馈说是一个SQL,用到了full join。我觉得这个是SQL语法问题,和3113连接断开应该没

今天QQ有问个问题,说有个应用报错3113,按照常规,让其检查了:

1、用户profile是否设置了idle_time参数,没有。

2、应用与数据库之间有防火墙超时设置,没有。

于是又问他是所有应用都报错,还是某个报错,反馈说是一个SQL,用到了full join。我觉得这个是SQL语法问题,和3113连接断开应该没有关系啊?于是又让他看alert文件有什么记录,反馈说有个报错:“ORA-07445: exception encountered: core dump [kkqtnloCbk()+111] [SIGSEGV] [unknown code] [0x000000000] [] []”。

没见过这种错误,于是搜索MOS,有两篇文章:

ORA-7445 (kkqtnlocbk) (文档 ID 406737.1)

说明kkqtnlocbk和4204383这个bug相关,,Dump [kkqtnlocbk] optimizing ANSI OUTER JOINs with subqueries

在10.2.0.4, 11.1.0.6, 10.2.0.2.P08, 10.2.0.3.P05中修复。

ORA-07445: exception encountered: core dump [kkqtnloCbk()+111] [SIGSEGV] [unknown code] [0x000000000] [] []


说明在使用子查询的ANSI外连接语法时产生一个dump(但这只是一个总体的描述,实际现象可能不同)。临时的解决方法是设置_optimizer_cost_based_transformation值改为off。

描述这个bug在以下版本已经修复:

10.2.0.2 Patch 8 on Windows Platforms

10.2.0.3 Patch 5 on Windows Platforms

10.2.0.4 (Server Patch Set)

11.1.0.6 (Base Release)


他的错误数据库版本正是10.2.0.1,因此有理由怀疑这是由于数据库的bug导致的。解决方法就是上述要么临时设置参数值,要么只能通过打补丁修复。

相关阅读:

ORA-01172、ORA-01151错误处理

ORA-00600 [2662]错误解决

ORA-01078 和 LRM-00109 报错解决方法

ORA-00471 处理方法笔记

ORA-00314,redolog 损坏,或丢失处理方法

ORA-00257 归档日志过大导致无法存储的解决办法