f SQLNET.OUTBOUND_CONNECT_TIMEOUT 的利用時機 ~ 迪貝之家

Pages

SQLNET.OUTBOUND_CONNECT_TIMEOUT 的利用時機

因為在ADG 的資料同步監控Perl程式裡
用了RMF(Remote Management Framework)
裏所使用的dblink
RMF
寫這隻程式的時候,有點擔心會不會碰到網路瞬斷後
程式就直接拋error
因為error 一拋, OP Center就叫修
值班DBA就被接到緊急叫修的電話
上系統一看又沒問題,徒然浪費人力而已
所以當時我就找了資料庫的參數設定
是否有相應的參數設定能控制DBLINK的連線 TIMEOUT
結果是沒有
後來念頭轉到oracle net相關參數是否有相應的設定
就找到了SQLNET.OUTBOUND_CONNECT_TIMEOUT及
SQLNET.SEND_TIMEOUT,當時設了7200
也不確定是否work
直到去年底, 客戶DR機房維修斷電沒接到通知
AP Leader剛好在用DR資料庫查詢資料連不上去
就撥了電話問我,有沒有接到OP Center叫修
當下是沒接到任何電話叫修,因為我就是當時的值班DBA
所以我很肯定沒接到緊急叫修
我上了系統透過dgmgrl 指令做檢測
還真的是有問題,我就剛好利用這個機會測試監控程式在網路斷線時會不會有問題
我就把兩個參數值都調成10
SQLNET.OUTBOUND_CONNECT_TIMEOUT=10
SQLNET.SEND_TIMEOUT=10
再去執行Perl的監控程式
就拋出error了
今天查了metalink資料
Oracle Net (SQL*Net) Timeout Parameters (Doc ID 1560775.1)
這一篇就寫得很清楚了
SQLNET.OUTBOUND_CONNECT_TIMEOUT
這個參數的設定才是我所要的