ORA-07445: 出現異常錯誤: 核心轉儲 [ldxsnf()+625] [SIGSEGV

還不算暈發表於2014-04-24

ALERT日誌中報錯資訊:

Mon Jan 20 15:03:22 2014
Incremental checkpoint up to RBA [0x442f.abd.0], current log tail at RBA [0x442f.338a.0]
Mon Jan 20 15:08:13 2014
Errors in file /oracle/product/10.2.0/db/admin/PROD2_findbb/udump/prod2_ora_27268.trc:
ORA-07445: 鍑虹幇寮傚父閿欒: 鏍稿績杞偍 [ldxsnf()+625] [SIGSEGV] [Address noo object] [0x2B28910C94F0] [] []
Mon Jan 20 15:08:15 2014
Trace dumping is performing id=[cdmp_20140120150815]

檢視TRC檔案,有類似以下語句:--省略了部分SQL:

ksedmp: internal or fatal error
ORA-07445: 出現異常錯誤: 核心轉儲 [ldxsnf()+625] [SIGSEGV] [Address not mapped to object] [0x2B28910C94F0] [] []
Current SQL statement for this session:
SELECT * FROM aa
where
trunc(sysdate) between ...
#######################################

解決方法及參考文件:

資料庫版本:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
參考MOS:
Bug 6641866 - Dump from operations on DATE values (文件 ID 6641866.8)
ORA-07445 [Ldxsnf] even with patch 6641866 applied (文件 ID 1159983.1)

Bug 6641866中的描述:
Description
    A dump can occur (eg under ldxsnfcom <- ldxsnf <- ldxgpc <- evadrn)
    from SQL which uses operations on DATEs such as TRUNC etc..

    
文件1159983.1中的描述:
The bug can be identified based on the following facts:

1. ORA-7445 is raised in ldxsnfcom()
2. following functions at the top of the stack: ldxsnf ldxgpc evadrn
3. sql trace (10046 event) on the session reveals "alter session set nls_language". More specifically, the incorrect value being set is similar to
    "alter session set NLS_LANGUAGE = 'US'" directly or via "DBMS_SESSION.SET_NLS('NLS_LANGUAGE','US')".

Bug 9746699 is fixed in 12.1 and patch set 11.2.0.2.
#########################################
結合ORA-07455時TRACE檔案中的SQL語句,存在and trunc(sysdate)語句,應該就是這原因了。

相關文章