ORA-07445: 出现异常错误: 核心转储 [ldxsnf()+625] [SIGSEGV
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)语句,应该就是这原因了。