Oracle clusterware 和 Oracle RAC 的主要組件

來源:互聯網
上載者:User

現在看相關的RAC結構的文章還不太理解。

現在看這個就很清楚其中的意思了。

Oracle clusterware 主要有以下主要組件:
CSS: 叢集同步服務
主要管理整個叢集內各個節點間的情況,包括節點的添加和減少。與之對應的是ocssd 進程,如果改進程出現故障將會導致節點重啟。如果使用了第三方的clusterware,css 通過第三方clusterware 管理節點間的資訊。
關於是否使用第三方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: 事件管理器
主要發布一些crs 產生的事件。

ONS: Oracle Notification Service
主要是接受evmd 和 racgimon 傳來的events,並把它發布給local listener 和 application。
主要有兩個目的:
a) 使得應用知道叢集的狀態的變化,並採取相應的措施。如Fast Connection Failover.
b) 用於實現Load balancing. rdbms 的mmon 進程每隔30s 對該節點的wordload 做一次記錄,然後通過racgimon 和 ONS 傳遞給local listener 和 application。

OPROCD:
該進程時刻在記憶體中運行,監控cluster。如果該進程出現故障,將會重啟改節點。

RAC 的主要組件:

相對於單節點的oracle database,rac database 主要是引入了cache fusion 機制,從而減少了磁碟io的次數。在瞭解rac特有的一些進程之前,先瞭解一些概念:

GRD:Global Resource Directory
存放在本地記憶體中,記錄共用資源當前的狀態。一般一個GRD包含如下內容:dba, location, mode(N, S, X),Role (local,global), PI,XI, scn 等。在一個遠程節點提出訪問一個資料區塊的請求之後,要通過訪問grd來查看當前模式是否允許遠程節點的相應的操作。

Resources Master:
在每次訪問一個資料區塊的時候,都要先訪問一次Resources Master(對於每個資料區塊,oracle 都會為之分配一個instance,作為這個資料區塊的RM), 然後,Resources Master 通知ges,ges將請求資訊發送給gcs,然後訪問grd,一切通過之後gcs從該塊的holder instance 開始相應遠程節點的請求。
在一下情況,RM的位置可能發生改變:
a) 當遠程節點訪問這個RM的次數大於RM所在節點的次數時,RM將遷移至遠程節點
b) 當RM所在節點failed以後,本節點的RM要重新分配到其他存活的節點
c)當添加新的節點後,RM也要重新分配。
RM 的重新分配由進程LMON 負責。

RAC環境特有的若干進程:

LMS—Global Cache Service Process
傳輸一個本地的buffer cache 到遠端buffer cache,對於要求一致性讀的請求,LMS會自動rollback一個資料區塊來相應一致性請求。根據LMS任務量的多少,每個執行個體改進程的數量可以從1增加到9.

LMD—Global Enqueue Service Daemon
負責管理遠程節點向Resources Master 發出的請求。它發送請求資訊到request enqueue, 然後有gcs 來處理enqueue 上面的請求。

LMON—Global Enqueue Service Monitor
負責RM的重新分配

LCK0—Instance Enqueue Process
主要負責那些non-cache fusion 的請求,如library cache 和 row cache 等。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.