Oracle RAC/Clusterware 多種心跳heartbeat機制介紹 RAC超時機制分析

不一樣的天空w發表於2017-04-01

ORACLE RAC中最主要存在2種clusterware叢集件心跳 &  RAC超時機制分析:

1、Network Heartbeat 網路心跳 每秒發生一次; 10.2.0.4以後網路心跳超時misscount為60s,;11.2以後網路心跳超時misscount為30s。

2、Disk Heartbeat 磁碟心跳  每秒發生一次; 10.2.0.4以後 磁碟心跳超時DiskTimeout為200s。

注意不管是磁碟心跳還是網路心跳都依賴於cssd.bin程式來實施這些操作,在真實世界中任何造成cssd.bin這個普通使用者程式無法正常工作的原因均可能造成上述2種心跳超時, 原因包括但不侷限於 CPU無法分配足夠的時間片、記憶體不足、SWAP、網路問題、Votedisk IO問題、本次磁碟IO問題等等(askmaclean.com)。

此外在使用ASM的情況下,DB作為ASM例項的Client客戶; ASM例項會對DB例項的ASMB等程式進行監控, 以保證DB與ASM之間通訊正常。 若DB的ASMB程式長期無響應(大約為200s)則ASM例項將考慮KILL DB的ASMB程式,由於ASMB是關鍵後臺程式所以將導致DB例項重啟。

也存在其他可能的情況,例如由於ASMB 被某些latch block, 會阻塞其他程式,導致PMON進行強制清理。

綜上所述不管是Clusterware的 cssd.bin程式還是ASMB程式,他們都是OS上的普通使用者程式,OS本身出現的問題、超時、延遲均可能造成它們無法正常工作導致。建議在確認對造成OS長時間的網路、IO延時的維護操作,考慮先停止節點上的Clusterware後再實施。

另可以考慮修改misscount、Disktimeout等 心跳超時機制為更大值,但修改這些值並不能保證就可以不觸發Node Evication。

關於RAC /CRS對於本地盤的問題,詳見如下的SR回覆:

Does RAC/CRS monitor Local Disk IO ?

Oracle software use local ORACLE_HOME / GRID_HOME library files for main process operations.

There are some socket files under /tmp or /var/tmp needed for CRS communication.

Also, the init processes are all depending on the /etc directory to spawn the child processes.

Again, this is a complicated design for a cluster software which mainly rely on the OS stability including local file system.

Any changes to storage / OS are all recommended to stop CRS services since those are out of our release Q/A tests.

由於10.2的環境已經超出我們開發的支援服務期限,建議考慮升級到11.2.0.3來獲得更全面的技術支援。

轉自 


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

相關文章