ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-07445 : 出现异常错误: 核心转储

ORA-07445 : 出现异常错误: 核心转储

原创 Linux操作系统 作者:奋奋熊 时间:2013-04-17 09:19:15 0 删除 编辑

ORA-07445: exception encountered: core dump [kghalp()+58] [SIGSEGV] [Address not mapped to object] [0x000000068] [] []

DUMP文件

*** SERVICE NAME:(orcl) 2012-07-12 14:18:55.016

*** SESSION ID:(258.58198) 2012-07-12 14:18:55.016

Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x68, PC: [0x3c175e2, kghalp()+58]

*** 2012-07-12 14:18:55.030

ksedmp: internal or fatal error

ORA-07445: exception encountered: core dump [kghalp()+58] [SIGSEGV] [Address not mapped to object] [0x000000068] [] []

Current SQL statement for this session:

INSERT INTO MAILSENDER.GARBAGEDISTRIBUTING SELECT :B6 ,DOMAIN,MAX(CASE WHEN FLODER='ad' THEN COUNTNUM ELSE 0 END ) AS AD, MAX(CASE W

HEN FLODER='Garbage' THEN COUNTNUM ELSE 0 END) AS GARBAGE,:B3 ,:B5 ,:B4 FROM ( SELECT DOMAIN, FLODER, COUNT(MESSAGEINFOID) AS COUNTN

UM FROM( SELECT MBL.DOMAIN,T.MESSAGEINFOID,CASE WHEN REGEXP_SUBSTR(T.FLODER,'(Junk)|(QQ閭?欢璁㈤槄)|(鍨冨溇閭?欢)|(璁㈤槄閭?欢)') IS NOT NULL

THEN 'Garbage' WHEN REGEXP_SUBSTR(T.FLODER,'(骞垮憡閭?欢)') IS NOT NULL THEN 'ad' ELSE '' END AS FLODER FROM MESSAGEINFO T,MAILBOXLIST

MBL,TABLE(SPLITSTR(:B1 ,',')) TBEMAIL WHERE MBL.MAILBOXID=T.MAILBOXID AND TBEMAIL.COLUMN_VALUE=MBL.EMAIL AND T.ADDDATE BETWEEN :B3

AND :B2 AND (SELECT COUNT(*) FROM MESSAGEINFO M WHERE T.MAILID=M.MAILID AND T.MESSAGEINFOID

ER ) GROUP BY DOMAIN

----- PL/SQL Call Stack -----

object line object

handle number name

0x25b104658 23 package body MONITOR.PACKAGE_GARBAGEDISTRIBUTING

0x238b77b30 1 anonymous block

----- Call Stack Trace -----

calling call entry argument values in hex

location type point (? means dubious value)

-------------------- -------- -------------------- ----------------------------

Cannot find symbol

Cannot find symbol

Cannot find symbol

ksedst()+31 call ksedst1() 000000001 ? 000000001 ?

000000000 ? 000000000 ?

000000000 ? 000000001 ?

ksedmp()+610 call ksedst() 000000001 ? 000000001 ?

000000000 ? 000000000 ?

000000000 ? 000000001 ?

ssexhd()+630 call ksedmp() 000000003 ? 000000001 ?

000000000 ? 000000000 ?

000000000 ? 000000001 ?

__restore_rt()+0 call ssexhd() 00000000B ? 2B6124A48D70 ?

2B6124A48C40 ? 000000000 ?

000000000 ? 000000001 ?

<(nil)> call __restore_rt() 00000000B ? 2B6124A48D70 ?

2B6124A48C40 ? 000000000 ?

000000000 ? 000000001 ?

我们的ORA-07445,根据DUMP文件分析,多半是因为乱码问题照成的,然后修改了服务器的字符集。(即添加export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)。然后跟进我们这个包MONITOR.PACKAGE_GARBAGEDISTRIBUTING。一切OK了。

总结:乱码问题也可以导致ora-07445问题。遇到问题沉着冷静,细心才可以把问题解决好。

附表:

以下为网上收集的ORA-07445问题

select owner,object_name,object_type,debuginfo
from all_probe_objects
where object_name='TRI_XXX' and object_type like 'TRIGGER';

OWNER OBJECT_NAME OBJECT_TYPE D
------------ -------------- --------------- -
COPERATOR TRI_XXX TRIGGER T


1 rows selected.

天哪,真是DEBUG状态!
一个因为在DEBUG状态,且是基于DELETE的TRIGGER触发了这个Oracle的BUG!
......
现在要么改这个TRIGGER的状态,要么打补丁(9.2.0.6)。第一种选择是明智而快捷且安装的。重新编译,检查不是DEBUG状态。应用启动,正常运行

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

请登录后发表评论 登录
全部评论

注册时间:2011-07-20

  • 博文量
    23
  • 访问量
    34245