Fatal NI connect error 12170.
VERSION INFORMATION:
TNS
for
Linux: Version 11.1.0.7.0 - Production
Unix Domain Socket IPC NT Protocol Adaptor
for
Linux: Version 11.1.0.7.0 - Production
Oracle Bequeath NT Protocol Adapter
for
Linux: Version 11.1.0.7.0 - Production
TCP
/IP
NT Protocol Adapter
for
Linux: Version 11.1.0.7.0 - Production
Time: 08-NOV-2011 13:57:10
Tracing not turned on.
Tns error struct:
ns main err code: 12535
TNS-12535: TNS:operation timed out
ns secondary err code: 12560
nt main err code: 505
TNS-00505: Operation timed out
nt secondary err code: 110
nt OS err code: 0
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=10.100.107.62)(PORT=52357))
|
查看mos,有幸發現關於該錯誤的相關文章
Fatal NI connect error 12170′, ‘TNS-12535: TNS:operation timed out’ Reported in 11g Alert Log [ID 1286376.1]
作了一些摘要,算是給本身作個記錄,也給不能訪問mos的朋友一個參考html
一、適用範圍sql
Oracle Net Services - Version: 11.1.0.6 to 11.2.0.2 - Release: 11.1 to 11.2
Oracle Server - Enterprise Edition - Version: 11.1.0.6 to 11.2.0.2 [Release: 11.1 to 11.2]
Information
in
this document applies to any platform.
|
二、問題緣由數據庫
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.
The
'nt secondary err code'
translates to underlying network transport timeouts
for
the following Operating Systems:
For the Solaris system: nt secondary err code: 145:
#define ETIMEDOUT 145 /* Connection timed out */
For the Linux operating system: nt secondary err code: 110
ETIMEDOUT 110 Connection timed out
For the HP-UX system: nt secondary err code: 238:
ETIMEDOUT 238 /* Connection timed out */
For Windows based platforms: nt secondary err code: 60 (
which
translates to Winsock Error: 10060)
Description: A connection attempt failed because the connected party did not properly respond after a period of
time
, or established connection failed because connected host has failed to respond.
The reason the messages are written to the alert log is related to the use of the new 11g Automatic Diagnostic Repository (ADR) feature being enabled by default.
|
三、解決問題bash
To revert to Oracle Net Server tracing
/logging
,
set
following parameter
in
the server's sqlnet.ora :
DIAG_ADR_ENABLED = OFF
Also, to back out the ADR diag
for
the Listener component,
set
following parameter
in
the server's listener.ora:
DIAG_ADR_ENABLED_<listenername> = OFF
- Where the <listenername> would be replaced with the actual name of the configured listener(s)
in
the listener.ora configuration
file
. For example,
if
the listener name is
'LISTENER'
, the parameter would
read
:
DIAG_ADR_ENABLED_LISTENER = OFF
-Reload or restart the TNS Listener
for
the parameter change to take effect.
|
說明:這個問題是因爲Automatic Diagnostic Repository中的 Oracle Net diagnostic在默認的狀況下是開啓的,當數據庫和客戶端的鏈接超過特定時間,就會把這樣的信息寫入到alert日誌中,因此這不是一個致命的問題,若是偶爾出現,能夠忽略有點類此ora-3136的錯誤服務器