告警日誌反覆出現:
Fatal NI connect error 12170.
TNS-12535: TNS:operation timed out
ns secondary err code: 12606
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=10.53.105.20)(PORT=19164))
Oracle 11.2.0.1 RAC,Linux,Grid Infrastructure 管理監聽器。
客戶端連接建立後,因網路抖動、防火牆、或監聽器處理緩慢,導致監聽器在預設超時時間(60 秒)內未完成握手,主動斷開並記錄 12535/12170。RAC 下多節點監聽器配置不一致會放大此問題。
lsnrctl status
輸出顯示監聽端點包含 VIP (10.53.105.24) 與 SCAN IP。
listener.ora(Grid Home $GRID_HOME/network/admin/):# 權限調整
chmod 775 listener.ora sqlnet.ora
# 添加參數
INBOUND_CONNECT_TIMEOUT_LISTENER = 0 -- 0 表示無限等待,防止握手超時
DIAG_ADR_ENABLED_LISTENER = OFF -- 關閉 ADR 診斷,減少開銷(可選)
lsnrctl reload
# 或重啟
lsnrctl stop listener1
lsnrctl start listener1
觀察告警日誌 24 小時,不再出現 12170/12535,客戶端連接穩定。
sqlnet.ora 設定 SQLNET.OUTBOUND_CONNECT_TIMEOUT 適當增大。