oracle 10g rac 程式複習--整理自張曉明的《大話Oracle RAC》

selectshen發表於2015-02-24
RAC的CRS Resource包括GSD(global service daemon),ONS(oracle notification service daemon),VIP,Database,Instance,Listener和Serivce.
Oracle把這些Resource分成兩組:nodeapps和database-related resource.前者包括GSD,ONS,VIP,Listener,後者包括Database,Instance,Service.

健忘的問題都過OCR解決,腦裂的問題透過VotingDisk解決.


OCR中儲存整個叢集的配置資訊,配置資訊以key-value的形式儲存其中.使用者指定的這個位置會被記錄在/etc/oracle/ocr.loc(linux)或
/var/opt/oracle/ocr.loc(solaris).

整個OCR的資訊是個樹形結構,有3大分支,分別是system,database和crs.

Clusterware最重要的3個程式是crsd,cssd,evmd.

ocssd這個程式是clusterware最關鍵的程式,如果這個程式出現異常,會導致系統重啟.這個程式提供css(cluster synchronization service)服務.

css服務透過多種心跳機制,實時監控叢集健康狀態,提代腦裂保護等基礎叢集服務功能.css服務有兩種心跳機制:一種透過私有網路的network
hearbeat,另一種是透過voting disk的disk heartbeat.這兩個心跳都有最大時延,對於disk heartbeat,這個時延叫作iot(i/o timeout);對於
network heartbeat,這個時延叫作mc(miscount).兩個引數都是以秒為單位,預設時iot大於mc.預設情況下,這兩個引數是oracle自動判定,並不建議
調整.

CRSD是實現高可用性的主要程式,它所提供的服務是crs(cluster ready service)服務,監控應用層資源,並在這些資源執行異常時進行干預,包括關
閉,重啟程式或者轉移服務.
所有需要高可用的元件,都會在安裝配置的時候,以crs resource的形式登記到ocr中,而crsd程式就根據ocr中的內容,決定監控那些程式,如何監控,
出現問題時如何解決.

EVMD這個程式負責釋出CRS產生的各種事件.這些Event可以透過兩種方式釋出給客戶--ONS和Callout Script.

RACGIMON這個程式負責檢查資料庫健康狀態,負責Service的啟動,停止,故障轉移.

OPROCD程式也叫做Process Monitor Daemon.在非Linux平臺上,並且沒有使用第三方的叢集軟體時,會有這個程式,這個程式用來檢測節點的
processor hang,如果排程時間超過1.5秒,就會認為cpu工作異常,會重啟節點,也就是說這個程式提供的是io 隔離功能.linux 平臺上是利用
hangcheck-timer模組來實現io隔離功能的.

Cache Fusion Resource(PCM Resource)特指資料塊這種資源,包括普通資料塊,索引資料塊,段頭塊,undo資料塊.
非資料塊資源全部都歸類為Non-Cache Fusion Resource(Non-PCM Resource);

LMSn程式是Cache Fusion的主要程式,負責資料塊在例項間的傳遞,對應的服務叫做GCS,這個程式的名稱來源於Lock Manager Service.這個程式
的數量透過引數GCS_SERVER_PROCESS來控制,預設值是2個,取值範圍為0~9.

LMD負責的是Global Enqueue Service(GES).這個程式負責在多個例項之間協調對資料塊的訪問順序,保證資料的一致性訪問.

LCK負現非Non-Cache Fusion資源的同步訪問,每個例項有一個LCK程式.

LMON在各例項間會定期通訊,通檢查叢集中各節點的健康狀態,當某個節點出現故障時,負責叢集重構,GRD恢復等操作,它提供的服務叫作Cluster
Group Services(CGS).

DIAG程式監控例項的健康狀態,並在例項出現執行錯誤時收集診斷資料記錄到Alert.log日誌中.

GSD程式負責從客戶端工具,接收使用者命令,為使用者提供管理介面.

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

相關文章