RAC環境關閉CLUSTER後導致連線緩慢

yangtingkun發表於2011-12-19

客戶的四節點RAC在停掉三個後,發現連線RAC明顯變慢。

 

 

資料庫環境是4節點的10.2 RAC for Linux X86-64。由於心跳存在問題,目前將三個節點上的CLUSTER關閉,但是隨後不久,客戶反應資料庫訪問變慢。

雖然本來4個節點繁忙程度都不高,但是將4個例項上的壓力集中到1個例項上,那麼效能有所下降也是正常的。不過檢查資料庫的工作狀態,並未發現異常,無論是從後臺cpu忙閒程度,還是從awr報告中檢視,似乎並沒有太大的壓力。

詢問客戶是查詢變慢還是登入變慢,客戶也搞不清其中的差別,於是在嘗試連線資料庫,結果發現,無論是tnsping還是sqlplus登入,有時登入很快,有時要經歷3秒到6秒的等待,這應該就是客戶反應慢的原因。

檢查登入資料庫的TNSNAMES.ORA中的配置,客戶預設4個節點作為LOAD BALANCE和靜態FAILOVER,這種配置方式在節點關閉後並不會導致錯誤,但是有可能由於需要等待超時而經受效能問題。

檢查伺服器上CLUSTER的狀態,發現4個節點上,有兩個VIP的服務都停掉了,應該是使用者關閉整個CLUSTER服務是導致的。在此情況下,靜態FAILOVER發揮作用,但是會引入超時的問題。而由於配置了LOAD_BALANCEOracle會輪訓4VIP地址,這就導致了有時候連線很快完成,而有時連線需要等待3秒以上。

由於存在眾多的客戶端,無法一一修改客戶端使用的TNS配置,那麼最簡單的解決辦法就是將CLUSTER啟動,只是關閉其他三個節點的資料庫,這樣所有的VIP都處於啟動狀態,即使連線到沒有提供的服務的節點,也可以快速的重新啟動到啟動節點上。

將其他兩個VIP關閉的CLUSTER啟動,保持DB關閉狀態,資料庫連線緩慢的問題就此解決。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-713633/,如需轉載,請註明出處,否則將追究法律責任。

相關文章