oracle clusterware 主要有以下主要部件: CSS: 集群同步服務 主要管理整個集群內(nèi)各個節(jié)點間的情況,包括節(jié)點的添加和減少。與之
現(xiàn)在看相關的RAC結構的文章還不太理解。
現(xiàn)在看這個就很清楚其中的意思了。
Oracle clusterware 主要有以下主要部件:
CSS: 集群同步服務
主要管理整個集群內(nèi)各個節(jié)點間的情況,包括節(jié)點的添加和減少。與之對應的是ocssd 進程,如果改進程出現(xiàn)故障將會導致節(jié)點重啟。如果使用了第三方的clusterware,css 通過第三方clusterware 管理節(jié)點間的信息。
關于是否使用第三方clusterware,css 的不同在init.crsd 中有如下定義:
# FAST_REBOOT - take out the machine now. We are concerned about
# data integrity since the other node has evicted us.
# SLOW_REBOOT - We can rely on vendor clusterware to delay sending
# the reconfig to the other node due to its IO fencing
# guarantees. So trigger its diagnostic reboot.
如果使用了第三方的clusterware,,是否reboot的決定將交給它去決定。
CRS: 集群就緒服務
主要管理注冊到cluster 中的資源(包括vip,instance,db,listener,service等),它會自動重啟失敗的資源,一般會自動重啟5次,如果依然不能重啟成功,將放棄重啟。
EVM: 事件管理器
主要發(fā)布一些crs 產(chǎn)生的事件。
ONS: Oracle Notification Service
主要是接受evmd 和 racgimon 傳來的events,并把它發(fā)布給local listener 和 application。
主要有兩個目的:
a) 使得應用知道集群的狀態(tài)的變化,并采取相應的措施。如Fast Connection Failover.
b) 用于實現(xiàn)Load balancing. rdbms 的mmon 進程每隔30s 對該節(jié)點的wordload 做一次記錄,然后通過racgimon 和 ONS 傳遞給local listener 和 application。
OPROCD:
該進程時刻在內(nèi)存中運行,監(jiān)控cluster。如果該進程出現(xiàn)故障,將會重啟改節(jié)點。
RAC 的主要部件:
相對于單節(jié)點的oracle database,rac database 主要是引入了cache fusion 機制,從而減少了磁盤io的次數(shù)。在了解rac特有的一些進程之前,先了解一些概念:
GRD:Global Resource Directory
存放在本地內(nèi)存中,記錄共享資源當前的狀態(tài)。一般一個GRD包含如下內(nèi)容:dba, location, mode(N, S, X),Role (local,global), PI,XI, scn 等。在一個遠程節(jié)點提出訪問一個數(shù)據(jù)塊的請求之后,要通過訪問grd來查看當前模式是否允許遠程節(jié)點的相應的操作。
Resources Master:
在每次訪問一個數(shù)據(jù)塊的時候,都要先訪問一次Resources Master(對于每個數(shù)據(jù)塊,oracle 都會為之分配一個instance,作為這個數(shù)據(jù)塊的RM), 然后,Resources Master 通知ges,ges將請求信息發(fā)送給gcs,然后訪問grd,一切通過之后gcs從該塊的holder instance 開始相應遠程節(jié)點的請求。
在一下情況,RM的位置可能發(fā)生改變:
a) 當遠程節(jié)點訪問這個RM的次數(shù)大于RM所在節(jié)點的次數(shù)時,RM將遷移至遠程節(jié)點
b) 當RM所在節(jié)點failed以后,本節(jié)點的RM要重新分配到其他存活的節(jié)點
c)當添加新的節(jié)點后,RM也要重新分配。
RM 的重新分配由進程LMON 負責。
RAC環(huán)境特有的若干進程:
LMS—Global Cache Service Process
傳輸一個本地的buffer cache 到遠程的buffer cache,對于要求一致性讀的請求,LMS會自動rollback一個數(shù)據(jù)塊來相應一致性請求。根據(jù)LMS任務量的多少,每個實例改進程的數(shù)量可以從1增加到9.
LMD—Global Enqueue Service Daemon
負責管理遠程節(jié)點向Resources Master 發(fā)出的請求。它發(fā)送請求信息到request enqueue, 然后有gcs 來處理enqueue 上面的請求。
LMON—Global Enqueue Service Monitor
負責RM的重新分配
LCK0—Instance Enqueue Process
主要負責那些non-cache fusion 的請求,如library cache 和 row cache 等。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com