ALERT日誌中常見監聽相關報錯之三:ORA-609 TNS-12537 and TNS-12547 or TNS-12170 TNS-12535錯誤的排查,ora-609tns-12535

來源:互聯網
上載者:User

ALERT日誌中常見監聽相關報錯之三:ORA-609 TNS-12537 and TNS-12547 or TNS-12170 TNS-12535錯誤的排查,ora-609tns-12535
1.11G中ALERT日誌中有報錯ORA-609 TNS-12537 and TNS-12547 or TNS-12170  12170, 'TNS-12535等問題的解決方案:
Troubleshooting Guide for TNS-12535 or ORA-12535 or ORA-12170 Errors (文檔 ID 119706.1)
TNS-12535 / ORA-12535 on Connection to Database (文檔 ID 214122.1)
11g: ORA-609 TNS-12537 and TNS-12547 or TNS-12170 in 11g Alert.log (文檔 ID 1116960.1)
Fatal NI Connect Error 12170, 'TNS-12535: TNS:operation timed out' Reported in 11g Alert Log (文檔 ID 1286376.1)

TNS-12535 or ORA-12535從本質上來說是用戶端與伺服器之間計時的問題。a timing issue between the client and server.
這個錯誤通常是由於防火牆或網路不穩定、慢引起的逾時。也可能是主機的TCP QUEUESIZE setting設定問題。
通常也需要排查監聽設定檔:
listener.ora -->
CONNECT_TIMEOUT_<listener_name> (8.1.x and lower only)
   or
INBOUND_CONNECT_TIMEOUT_<listener_name> (9.2 and above)
sqlnet.ora -->
SQLNET.INBOUND_CONNECT_TIMEOUT (9.2 and up).


listener.ora: INBOUND_CONNECT_TIMEOUT_listenername
set to a value in seconds and determines how long a client has to provide the necessary authentication information to a database.
單位為秒,用戶端需要在指定的時間內提交需要的認證資訊。
sqlnet.ora: SQLNET.INBOUND_CONNECT_TIMEOUT
 INBOUND_CONNECT_TIMEOUT_listenername is set to a value in seconds and determines how long a client has to complete its connect request to the listener after the network connection has been established.
單位為秒,用戶端與監聽建立串連後多久需要完成串連請求
例如:
Sqlnet.ora: SQLNET.INBOUND_CONNECT_TIMEOUT=180
Listener.ora: INBOUND_CONNECT_TIMEOUT_listener_name=120
參考:11g: ORA-609 TNS-12537 and TNS-12547 or TNS-12170 in 11g Alert.log (文檔 ID 1116960.1)



排查方法:
1.可以PING通串連串中的主機HOST--如RAC的VIP/SCAN,檢查防火牆、路由、網路慢等
2.用戶端和伺服器的OS平台、版本是ORACLE支援的
3.如果使用9I或之前的Oracle Names Server,配置臨時tnsnames.ora 並在sqlnet.ora file 寫入 NAMES.DIRECTORY_PATH = (TNSNAMES)
4.如果正在使用Shared Server,嘗試使用SERVER=DEDICATED
5.資料庫伺服器負載高,CPU/記憶體等檢查
6.10.1、10.2版本 用戶端可能在網路慢時收到ORA-12535 or ORA-12170,修改如下:
These parameters are set on the SERVER side:
listener.ora: INBOUND_CONNECT_TIMEOUT_listenername   --為0(無限期)
sqlnet.ora: SQLNET.INBOUND_CONNECT_TIMEOUT   --120防DOS
7.11g版資料庫警報日誌還可能包含12535和/或12170錯誤的組合。
排查用戶端是否異常發出過多串連、串連風暴等問題。
8.監聽器負載大,大量用戶端串連積壓,監聽器不能及時處理。--或者串連風暴
9.伺服器正在啟動過程中。。
10.TRACE跟蹤一下 DOC:文檔 ID 1116960.1



解決方案:
1.8I及之前版本,在 listener.ora中配置CONNECT_TIMEOUT_<listener_name> and make it a higher value.
2.9I及之後版本,CONNECT_TIMEOUT_<listener_name> parameter is obsoleted.
需要根據不同版本來設定。

3.11G中此錯誤 會出現在ALERT日誌中。這個錯誤對應用基本沒有影響,通常可以忽略。
ORACLE就給了一個損招,不讓監聽逾時錯誤出現在警示日誌裡,回到10G的形式儲存在監聽的LOG中。。
Fatal NI Connect Error 12170, 'TNS-12535: TNS:operation timed out' Reported in 11g Alert Log (文檔 ID 1286376.1)
方法1: server's sqlnet.ora :
DIAG_ADR_ENABLED = OFF
方法2:
Also, to back out the ADR diag for the Listener component,  server's listener.ora:
DIAG_ADR_ENABLED_LISTENER = OFF
此時出現監聽逾時錯誤只出現在監聽日誌,注意ADR_BASE_LISTENER = /orabase   --刪除此條目。
對sqlnet檔案的修改是要重新註冊監聽才會生效的。


4.11G中還可以設定sqlnet.ora--文檔 ID 1628949.1
SQLNET.EXPIRE_TIME=n  Where <n> is a non-zero value set in minutes.

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.