Clusterware 後臺程式
Clusterware 由若干程式組成,其中最重要的3個是:CRSD,CSSD,EVMD. 在安裝clusterware的最後階段,會要求在每個節點執行root.sh 指令碼, 這個指令碼會在/etc/inittab 檔案的最後把這3個程式加入啟動項,這樣以後每次系統啟動時,Clusterware 也會自動啟動,其中EVMD和CRSD 兩個程式如果出現異常,則系統會自動重啟這兩個程式,如果是CSSD 程式異常,系統會立即重啟。
1). OCSSD
OCSSD 這個程式是Clusterware最關鍵的程式,如果這個程式出現異常,會導致系統重啟,這個程式提供CSS(Cluster Synchronization Service)服務。 CSS 服務透過多種心跳機制實時監控叢集狀態,提供腦裂保護等基礎叢集服務功能。
CSS 服務有2種心跳機制: 一種是透過私有網路的Network Heartbeat,另一種是透過Voting Disk的Disk Heartbeat.
這2種心跳都有最大延時,對於Disk Heartbeat, 這個延時叫作IOT (I/O Timeout);對於Network Heartbeat, 這個延時叫MC(Misscount)。 這2個引數都以秒為單位,預設時IOT大於MC,在預設情況下,這2個引數是Oracle 自動判定的,並且不建議調整。可以透過如下命令來檢視引數值:
$crsctl get css disktimeout
$crsctl get css misscount
注:除了Clusterware 需要這個程式,在單節點環境中如果使用了ASM,也需要這個程式;這個程式用於支援ASM Instance 和RDBMS Instance之間的通訊。 如果在使用了ASM的節點上安裝,會遇到一個問題:RAC節點要求只有一個OCSSD程式,並且應該是執行$CRS_HOME目錄下的,這時就需要先停止ASM,並透過$ORACLE_HOME/bin/localcfig.Sh delete 刪除之前的inittab 條目。 之前安裝ASM時,也使用這個指令碼來啟動OCSSD: $ORACLE_HOME/bin/localconfig.Sh add.
2). CRSD
CRSD是實現"高可用性(HA)"的主要程式,它提供的服務叫作CRS(Cluster Ready Service) 服務。
Oracle Clusterware是位於叢集層的元件,它要為應用層資源(CRS Resource) 提供"高可用性服務",所以, Oracle Clusterware 必須監控這些資源,並在這些資源執行異常時進行干預,包括關閉,重啟程式或者轉移服務。CRSD程式提供的就是這些服務。
所有需要 高可用性 的元件,都會在配置的時候,以CRS Resource的形式登記到OCR中,而CRSD 程式就是根據OCR中的內容,決定監控哪些程式,如何監控,出現問題時又如何解決。也就是說,CRSD 程式負責監控CRS Resource 的執行狀態,並要啟動,停止,監控,Failover這些資源。 預設情況下,CRS 會自動嘗試重啟資源5次,如果還是失敗,則放棄嘗試。
CRS Resource 包括GSD(Global Serveice Daemon),ONS(Oracle Notification Service),VIP, Database, Instance 和 Service. 這些資源被分成2類:
GSD,ONS,VIP 和 Listener 屬於Noteapps類
Database,Instance 和Service 屬於 Database-Related Resource 類。
我們可以這樣理解: Nodeapps 就是說每個節點只需要一個就夠了,比如每個節點只有一個Listener,而Database-Related Resource 就是說這些資源和有關,不受節點的限制,比如一個節點可以有多個例項,每個例項可以有多個Service。
GSD,ONS,VIP 這3個服務是在安裝Clusterware的最後,執行VIPCA 時建立並登記到OCR中的。 而Database, Listener, Instance 和Service 是在各自的配置過程中自動或者手動登記到OCR中的。
3). EVMD
EVMD 這個程式負責釋出CRS 產生的各種事件(Event). 這些Event可以透過2種方式釋出給客戶:ONS 和 Callout Script. 使用者可以自定義回撥指令碼,放在特定的目錄下,這樣當有某些事件發生時,EVMD會自動掃描該目錄,並呼叫使用者的指令碼,這種呼叫是透過racgevt程式來完成的。
EVMD 程式除了複雜釋出事件之外,它還是CRSD 和CSSD 兩個程式之間的橋樑。 CRS 和CSS 兩個服務之前的通訊就是透過EVMD 程式完成的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-718470/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE後臺程式Oracle
- oracle 後臺程式Oracle
- 將程式在後臺執行和殺掉後臺的程式
- RAC後臺GTX程式
- WINDOWS ORACLE 後臺程式WindowsOracle
- Oracle後臺程式列表Oracle
- 後臺程式介紹
- Dataguard(Standby) 後臺程式
- Oracle 後臺程式 說明Oracle
- Oracle後臺程式詳述Oracle
- 幾個必要後臺程式
- [zt] Oracle RAC 後臺程式Oracle
- linux程式前臺-後臺執行Linux
- IOS 後臺掛起程式 當程式到後臺後,繼續完成Long Running Task 任務iOS
- oracle clusterwareOracle
- jenkins後臺程式執行Jenkins
- 關於Oracle RAC後臺程式Oracle
- Oracle RAC後臺程式介紹Oracle
- 編寫python後臺程式Python
- Oracle VKRM 後臺程式介紹Oracle
- 修改dbwr後臺程式數量
- ORACLE 10G 後臺程式Oracle 10g
- oracle架構之後臺程式Oracle架構
- solidDB 後臺啟動程式Solid
- Linux:後臺執行程式Linux行程
- linux殺死後臺程式Linux
- LINUX平臺下的10.2.0.4版本的CLUSTERWARE引入的變化-關於OPROCD程式Linux
- 後臺執行以及保持程式在後臺長時間執行
- Oracle程式結構及後臺程式簡介Oracle
- ORACLE RAC clusterwareOracle
- 微信小程式 部署(後臺是springboot專案 前後臺分流)微信小程式Spring Boot
- vue後臺管理系統程式碼Vue
- LaraCMS 後臺管理系統 - 小程式ACM
- Ubuntu16.04 -- 後臺程式NohupUbuntu
- 分享C++寫後臺程式碼C++
- 從零搭建微信小程式後臺微信小程式
- 實驗,暫停oracle後臺程式Oracle
- Oracle後臺程式及其作用簡介Oracle