RAC 后臺進程資源
自動啟動的腳本/etc/inittab 里定義:
- OCSSD(Clustery Synchronization Service)提供心跳機制監(jiān)控集群狀態(tài)
- DISK HEARTBEAT
- NETWORK HEARBEAT
- CRSD(Clustery Ready Service)提供高可用、干預、關閉、重啟、轉移服務
- 資源包括 nodeapps、database-related:前者每個節(jié)點只需要一個即可正常工作,后一個與數(shù)據(jù)庫相關,不受節(jié)點限制,可以為多個
- EVMD: 這個進程負責發(fā)布 CRS 產(chǎn)生的各種事件,還是 CRS 和 CSS 兩個服務之間通信的橋梁
- RACGIMON: 這個進程負責檢查數(shù)據(jù)庫健康狀態(tài),包括數(shù)據(jù)庫服務的啟動、停止和故障轉移。屬于持久連接,定期檢查 SGA
- OPROCD(Process Monitor Daemon)檢測 CPU hang(非 Linux 平臺使用)
RAC 的并發(fā)控制
DLM 分布式鎖管理。
- Non-Cache Fusion 資源:包括數(shù)據(jù)文件、控制文件、數(shù)據(jù)字典視圖 、Library Cache、Row Cache
- Cache Fusion 資源:包括普通數(shù)據(jù)塊、索引數(shù)據(jù)塊、段頭、UNDO 數(shù)據(jù)塊。
- GRD(Global Resource Directory):記錄每個數(shù)據(jù)塊在集群間的分布圖,在SGA中分master node與shadownode
- PCM lock:mode role Past Image
RAC 的主要后臺進程
- LMS0(LOCK MANAGER SERVICE):對應服務為 GCS(Global Cache Service),主要負責數(shù)據(jù)塊在實例間傳遞Cache fusion 參數(shù) GCS_SERVER_PROCESSES
- LMD:對應服務為 GES(Global ENQUEUE Service),主要負責傳遞過程中鎖的管理。
- LCK:負責 NON-CACHE FUSION 資源同步訪問,每個實例有一個進程。
- LMON:這個進程定期通信每個實例,對應服務為 CGS(Cluster Group Service)。提供節(jié)點監(jiān)控 node monitor,通過 GRD 中用位圖 0,1 來標志。0:節(jié)點關閉 1:節(jié)點正常運行通過 CM 層定期通信。
- 兩種心跳機制:網(wǎng)絡心跳和控制文件磁盤心跳 3S 一次。
- DIAG:監(jiān)控狀態(tài),寫日志 alert.log
- GSD:為用戶提供管理接口。
RAC 重構觸發(fā)條件
(一) NM(NODE MANAGEMENT)group
(二) 重構集群觸發(fā):有 node 加入或者離開集群,由 NM 觸發(fā) Network Heartbeat 異常:因為 LMON 或者 GCS、GES 通信異常 ,由 IMR(Instance Membership Reconfiguration)controlfile heartbeat 觸發(fā)。