ORA-07445 kprball()+483错误之原因分析

盖国强 2019-05-08
16
0 0
摘要:07445错误总是很怕人,还好没有引起故障,检查一下跟踪文件,发现这个错误是由一条SQL引起的

问题描述

客户数据库出现了如下一个错误:

ORA-07445: exception encountered: core dump [kprball()+483] [SIGSEGV] [Address not mapped to object] [0x138] [] []

专家解答

07445错误总是很怕人,还好没有引起故障,检查一下跟踪文件,发现这个错误是由如下一条SQL引起的:

*** 2009-02-02 20:15:15.522
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [kprball()+483] [SIGSEGV] [Address not mapped to object] [0x138] [] []
Current SQL statement for this session:
select 'x' from dual
----- Call Stack Trace -----
calling call entry argument values in hex 
location type point (? means dubious value)

那么是什么应用引发的呢?再检查发现是PL/SQL Developer会话导致的7445错误:

*** 2009-02-02 20:15:15.486
*** ACTION NAME:(Main session) 2009-02-02 20:15:15.476
*** MODULE NAME:(PL/SQL Developer) 2009-02-02 20:15:15.476
*** SERVICE NAME:(modb) 2009-02-02 20:15:15.476
*** SESSION ID:(1007.14350) 2009-02-02 20:15:15.476
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x138, PC: [0x97b1e03, kprball()+483]
Registers:

至此我们至少可以排除是应用存储过程导致的。

检查Metalink,发现如下一个Bug:5206570 
说的是:Using Oracle SQL Developer it is possible to get a dump in ksusrs() or kprball() when disconnecting after the session has been marked as sniped due to idle time (max_idle_time ) limitation.

也就是说当设置了idle time的profile限制时,使用Oracle SQL Developer时,可能会因为超时等原因,在会话中断时出现该错误;看来不仅是Oracle SQL Developer会出现这个问题,现在PL/SQL Developer也会出现这个问题。

这个Bug fixed: 10.2.0.4 patchset, 11g 。原因的确是用户启用了RESOURCE_LIMIT:

SQL> select username,profile from dba_users where profile <>'DEFAULT';
USERNAME PROFILE
------------------------------ ------------------------------
MOBTISTIC STAT_PROFILE


「喜欢文章,快来给作者赞赏墨值吧」

评论

0
0
Oracle
订阅
欢迎订阅Oracle频道,订阅之后可以获取最新资讯和更新通知。
墨值排行
今日本周综合
近期活动
全部
相关课程
全部