ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-7445(ktussto)错误

ORA-7445(ktussto)错误

原创 Linux操作系统 作者:yangtingkun 时间:2010-05-06 23:32:31 0 删除 编辑

一个Oracle9204上的小bug。

 

 

一个报表数据库中的alert文件中出现了ORA-7445错误:

Errors in file /u1/oracle/admin/repdb01/bdump/repdb01_j005_8887.trc:
ORA-07445: exception encountered: core dump [0000000100526C64] [SIGSEGV] [Address not mapped to object] [0x000000004] [] []

对应的trace文件为:

bash-2.03$ more /u1/oracle/admin/repdb01/bdump/repdb01_j005_8887.trc
/u1/oracle/admin/repdb01/bdump/repdb01_j005_8887.trc
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
ORACLE_HOME = /data/oracle/product/920
System name:    SunOS
Node name:      newreport
Release:        5.8
Version:        Generic_117350-26
Machine:        sun4u
Instance name: repdb01
Redo thread mounted by this instance: 1
Oracle process number: 23
Unix process pid: 8887, image: oracle@newreport (J005)

*** 2010-05-02 10:51:08.784
*** SESSION ID:(112.39159) 2010-05-02 10:51:08.744
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x4, PC: [0x100526c64, 0000000100526C64]
*** 2010-05-02 10:51:08.787
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [0000000100526C64] [SIGSEGV] [Address not mapped to object] [0x000000004] [] []
Current SQL statement for this session:
INSERT INTO AUD_ORDER_PERIOD
      (ID,
       PLAT_ID,
       CONTRACT_ID,
       BUYER_ORGID,
       REQUEST_QTY,
       TIME_FLAG,
       TIME_COUNT,
       CREATE_DATE)
      SELECT S_AUD_ORDER_PERIOD.NEXTVAL,
             PLAT_ID,
             CONTRACT_ID,
             BUYER_ORGID,
             ORDER_MONEY,
             TIME_FLAG,
             TIME_COUNT,
             SYSDATE
        FROM (SELECT O.PLAT_ID,
                     L.CONTRACT_ID,
                     O.BUYER_ORGID,
                     SUM(NVL(O.REQUEST_QTY * O.UNIT_PRICE, 0)) ORDER_MONEY,
                     CASE
                       WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 0.5 THEN
                        '1'
                       WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 1 THEN
                        '2'
                       WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 2 THEN
                        '3'
                       WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 4 THEN
                        '4'
                       WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 8 THEN
                        '5'
                       WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 24 THEN
                        '6'
                       ELSE
                        '7'
                     END TIME_FLAG,
                     COUNT(1) TIME_COUNT
                FROM CON_LIST_ITEM_SHARE_SJ L,
                     ORD_ORDER_ITEM_SJ O,
                     (SELECT R.ORDER_ITEM_ID, MIN(RECEIVE_DATE) RECEIVE_DATE
                        FROM ORD_ORDER_RECEIVE_SJ R
                       GROUP BY R.ORDER_ITEM_ID) R
               WHERE O.SOURCE_ID = L.ID
                 AND O.RECORD_ID = R.ORDER_ITEM_ID(+)
               GROUP BY O.PLAT_ID,
                        L.CONTRACT_ID,
                        O.BUYER_ORGID,
                        CASE
                          WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 0.5 THEN
                           '1'
                          WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 1 THEN
                           '2'
                          WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 2 THEN
                           '3'
                          WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 4 THEN
                           '4'
                          WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 8 THEN
                           '5'
                          WHEN NVL(R.RECEIVE_DATE - O.CREATE_DATE, 0) * 24 <= 24 THEN
                           '6'
                          ELSE
                           '7'
                        END)
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
69d8ece10       198  package body SHENJI2.PKG_GENERATE_STAT_SJ
6b3965e10         4  anonymous block
----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
ksedmp()+328         CALL     ksedst()+0           FFFFFFFF7FFF16B0 ?
                                                   000000000 ? 000000000 ?
                                                   00000003E ?
                                                   FFFFFFFF7FFF1F48 ?
                                                   1031D56C8 ?
ssexhd()+604         CALL     ksedmp()+0           000000000 ? 000103400 ?
                                                   0001035D9 ? 000102C00 ?
                                                   1035D9000 ? 1035D9C28 ?
sigacthandler()+44   PTR_CALL 0000000000000000     1035E1000 ?
                                                   FFFFFFFF7FFF2EE0 ?
                                                   000000000 ? 000000001 ?
                                                   1035DEDD8 ? 00000000B ?
ktussto()+740        PTR_CALL 0000000000000000     00000000B ?
                                                   FFFFFFFF7FFF2EE0 ?
                                                   FFFFFFFF7FFF2C00 ?
                                                   00000000B ? 000001A10 ?
                                                   000000000 ?
ktugct()+1348        CALL     ktussto()+0          000000000 ? 000000000 ?
                                                   FFFFFFFF7CF60318 ?
                                                   FFFFFFFF7FFF3620 ?
                                                   1035DBF94 ? 000000000 ?
ktbgcl1()+2884       CALL     ktugct()+0           103712B20 ?
                                                   FFFFFFFF7CF58274 ?
                                                   000000000 ?
                                                   FFFFFFFF7CF58274 ?
                                                   103712B34 ? 1035DC4E8 ?
ktrgcm()+3300        CALL     ktbgcl1()+0          FFFFFFFF7CEE8CF0 ?
                                                   000000000 ?
                                                   FFFFFFFF7CF58274 ?
                                                   650AF4014 ? 650AF401C ?
                                                   000000002 ?
ktrget()+264         CALL     ktrgcm()+0           650AF4014 ? 000000000 ?
                                                   1035D99AC ? 650AF404C ?
                                                   000002000 ? 000008000 ?
kdifxs()+1856        CALL     ktrget()+0           FFFFFFFF7CEE8CF0 ?
                                                   FFFFFFFF7CEE8C00 ?
                                                   00000021B ?
                                                   FFFFFFFF7CEE8D00 ?
                                                   000100400 ? 1035DBF94 ?
qerixFetch()+280     CALL     kdifxs()+0           000000001 ? 000000000 ?
                                                   000000000 ? 000000000 ?
                                                   FFFFFFFF7CEE8CE8 ?
                                                   000000000 ?

查询了一下METALINK,发现是Oracle的bug,Oracle被打算报ORA-1555错误,但是出现了会话的DUMP,导致ORA-7445(ktussto)错误的出现。

在METALINK文档ID 2454108.8中描述了这个bug,bug号2454108,确认影响版本就是9204。导致ORA-1555错误并不意外,由于每个月月初这个报表库有大量的后台JOB运行,因此个别JOB出现ORA-1555错误是很常见的,除了这个错误,alert文件中还有其他几个ORA-1555错误,不过出现这个ORA-7445(ktussto)错误倒是第一次。

这个错误影响不大,如果可以避免ORA-1555,也就避免了这个错误。Oracle在9205和10102中解决了这个bug。

 

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

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1964
  • 访问量
    11076998