Fatal NI connect error 12170.

今天在一臺服務器的日誌文件中,發現如下信息:看似是個錯誤,可是卻不影響數據庫的運行,但畢竟報錯了,看着不舒服,就研究下

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=IP)(PORT=51345))
查看mos,有幸發現關於該錯誤的相關文章
Fatal NI connect error 12170′, ‘TNS-12535: TNS:operation timed out’ Reported in 11g Alert Log [ID 1286376.1]
做了一些摘要,算是給自己做個記錄,也給不能訪問mos的朋友一個參考
1、適用範圍
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.
2、問題原因
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
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
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
3、解決問題
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_ = OFF
  - Where the 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的錯誤


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章