查看日志发现以下报错
Fatal NI connect error 12547, connecting to:
(LOCAL=NO)
VERSION INFORMATION:
TNS for Linux: Version 11.2.0.4.0 - Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
Time: 31-OCT-2019 05:38:37
Tracing not turned on.
Tns error struct:
ns main err code: 12547
TNS-12547: TNS:lost contact
ns secondary err code: 12560
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
opiodr aborting process unknown ospid (27395) as a result of ORA-609
Thu Oct 31 05:40:00 2019
Thread 1 advanced to log sequence 88896 (LGWR switch)
Current log# 3 seq# 88896 mem# 0: /xfdata/xf/redo03.log
Current log# 3 seq# 88896 mem# 1: /opt/app/oracle/oradata/redo03.log
Thu Oct 31 05:40:00 2019
Archived Log entry 123670 added for thread 1 sequence 88895 ID 0xa0fe4d67 dest 1:
Thu Oct 31 05:43:26 2019
错误原因
metalink上说这个错误是客户端经历了一个超时,新的 Automatic Diagnostic Repository (ADR) 机制将超时信息写入了日志文件。
These time out related messages are mostly informational in nature. The messages indicate the specified client connection (identified by the ‘Client address:’ details) has experienced a time out. The ‘nt secondary err code’ identifies the underlying network transport, such as (TCP/IP) timeout limits after a client has abnormally terminated the database connection.
解决办法
- 在sqlnet.ora 文件中添加一下内容
DIAG_ADR_ENABLED = OFF
- 在服务器listener.ora文件中添加一下内容
DIAG_ADR_ENABLED_<listenername> = OFF
例如:listenername=LISTENER写入以下内容
DIAG_ADR_ENABLED_LISTENER = OFF
- 重新加载或者重启监听
lsnrctl restart or lsnrctl reload