標籤:rac
Oracle Cluster Ready Service(Oracle叢集就緒服務)
amnesia:健忘症,多個節點中的配置資訊不統一,用舊的設定檔,造成配置丟失。
RAC中使用OCR來解決。
Split Brain:腦裂,RAC使用投票演算法及Quorun Device來解決。
IO Fencing:IO隔離,當叢集出現腦裂時,必須要判斷出哪個節點應該獲得叢集掌控權,哪些被趕出叢集。
還要保證趕出節點不能操作共用資料。這個需要IO隔離解決。
--clusterware安裝後,查詢voting disk位置
$crsctl query css votedisk
------oracle clusterware component---------process
event manager service evmd
evmdlogger
oracle notification Service(ONS)ONS
process monitor daemonoprocd
RACG racgmain
racgimon
----
ocssd進程是clusterware關鍵進程,這個進程異常會導致系統重啟。
css:cluster synchronization service,css服務通過多種心跳機制即時監控叢集健康狀態,提供腦裂保護等基礎叢集服務功能。
css服務有兩種心跳機制:
1.通過私人網路的network heartbeat,最大延時:MC(miscount) ,單位秒
2.通過voting disk的disk heartbeat,最大延時:IOT(I/O Timeout),單位秒
--------
--所有需要高可以用性的組件,都會在安裝配置時候,以CRS Resource形式登記到OCR中。
CRSD:進程根據OCR中的內容決定監控那些進程、如可監控、出現問題時如何解決。
CRSD進程負責監控CRS Resource的運行狀態,並要啟動停止監控failover這些資源。
CRS Resource:
GSD(global service daemon)
ONS(Oracle Nofitication service daemon)
VIP
database
instance
service
這些資源分成兩類:
Noteapps類:gsd ons vip listener。理解:每個節點只需要一個就夠
Dfatabase-Related Resource類:database instance service。理解:不受節點限制。
GSD、ONS、VIP是在安裝oracle clusterware時執行VIPCA時建立並登記到OCR中。
database、listener、instance、service是各自的配置過程中自動或手動登記到OCR
DLM(distributed lock management):分布式鎖管理器。(資料區塊為粒度)
--dlm作用協調執行個體間對資源的競爭訪問,處理多節點並發問題
在DLM中,根據資源數量活動密集程度把資源分成兩類:
1.cache fusion resource:特指資料區塊這種資源,包括:普通資料區塊、索引資料區塊、段頭塊(segment header)、undo資料區塊
2.no-cache fusion resource:非資料區塊資源全部歸類為這個類,包括:資料檔案、控制檔案、資料字典視圖、library cache、row cache等
----------------
GRD(global resource directory) :記錄的是每個資料區塊在叢集間的分布圖,位於每個執行個體的sga中,但每個執行個體sga中都是部分grd,所有執行個體的grd匯總在一起才是一個完整的grd
GCS(global cache service)
GES(global enqueue service)
GCS和GES通過使用全域資來源目錄(GRD)來管理每個資料檔案和每個緩衝的塊的狀態記錄
GCS針對資料區塊的 GES針對鎖、隊列控制的
GRD內容分布在所有活動的執行個體之間,通過這一點很有效提高了Oracle RAC執行個體的SGA尺寸。
----進程
1.LMSn - Global Cache Service Process 全域快取服務進程:管理了節點和群集之間的資料訪問請求
是cache fusion的主要進程,負責資料區塊在執行個體間的傳遞,對應的服務叫作GCS(global cache service)
這個進程名稱來源於Lock Manager Service(9開始這個服務重新命名為global cache service[gcs])
進程數量通過參數:GCS_SERVER_PROCESSES控制,取值:0~9
GCS=>LMSn
2.LMD
負責的是global enqueue service(GES),這個進程負責在多個執行個體之間協調對資料區塊的訪問順序,保證資料的一致性訪問。
它和LMSn進程的GCS服務還有GRD共同構成RAC最核心的功能cache fusion.
GES=>LMD
3.LCK
這個進程負責non-cache fusion資源的同步訪問,每個執行個體有一個lck進程。
4.LMON 全域佇列服務監控器
Global Enqueue Service Monitor (LOCK Monitor Processes)
主要監測群集內的全域隊列和全域資源,管理執行個體和處理異常並相應的群集隊列進行恢複操作。
各個執行個體的LMON進程會定期通訊,以檢查叢集中各個節點的健康狀態,當某個節點出現故障時,
負責叢集重構,GRD恢複等操作,它提供的服務叫作:Cluster Group Services(CGS)。
CGS=>LMON
5.CRS-叢集資源服務(cluster ready services) --crsd
管理叢集內高可用操作的基本程式
CRS管理的任何事務被稱之為資源
資料庫、執行個體、監聽、虛擬IP、應用進程等等
CRS是跟據儲存於OCR中的資源配置資訊來管理這些資源
當一資源的狀態改變時,CRS進程產生一個事件
6.CSS-叢集同步服務(Cluster Synchronization Service) --cssd
管理叢集節點的成員資格
控制哪個結點為叢集的成員、節點在加入或離開叢集時通知叢集成員來控制叢集配置資訊
此進程發生故障導致叢集重啟
7.EVMD事件管理服務(Event Management) --evmd
事件管理守護進程
發布CRS建立事件的後台進程
8.ONS-事件的發布及訂閱服務(Oracle Notification Service)
通訊的快速應用通知事件的發布及訂閱服務
9.進程監控守護進程(OPROCD)-這個進程在記憶體被鎖定來監控叢集和提供I/O 柵欄。
---------------------------------------------------------
LMON - Lock Monitor鎖監控器
LCK0 - Instance Enqueue Process執行個體隊列進程
LMD0 - Global Enqueue Service Daemon全域佇列服務守護進程
LMS0 - Global Cache Service Process全域快取服務進程
DIAG - Diagnostic Process 診斷進程
在Linux上Oracle Cluster在/etc/inittab配置。它使用三個守護進程來實現:
CRS - Cluster Ready Service (crsd)群集就緒服務
CSS - Cluster Synchronization Service (ocssd)群集同步服務
EVM - Event Manager (evmd)事件管理器
-------
網上資料、大話oracleRAC等
本文出自 “儘管錯,讓我錯到死!” 部落格,請務必保留此出處http://hxw168.blog.51cto.com/8718136/1567667
【oracle】10gRAC名詞解釋_筆記