ORACLE RAC集群原理

2022-09-01 05:30:08 字數 1847 閱讀 8444

oracle rac原理:在乙個應用環境當中,所有的伺服器使用和管理同乙個資料庫,目的是為了分散每一台伺服器的工作量,硬體上至少需要兩台以上的伺服器,而且還需 要乙個共享儲存裝置。同時還需要兩類軟體,乙個是集群軟體,另外乙個就是oracle資料庫中的rac元件。同時所有伺服器上的os都應該是同一類os, 根據負載均衡的配置策略,當乙個客戶端傳送請求到某一台服務的listener後,這台伺服器根據我們的負載均衡策略,會把請求傳送給本機的rac元件處 理也可能會傳送給另外一台伺服器的rac元件處理,處理完請求後,rac會通過集群軟體來訪問我們的共享儲存裝置。

邏輯結構上看,每乙個參加集群的節點有乙個獨立的instance,這些instance訪問同乙個資料庫。節點之間通過集群軟體的通訊層 (communication layer)來進行通訊。同時為了減少io的消耗,存在了乙個全域性快取服務,因此每乙個資料庫的instance,都保留了乙份相同的資料庫cache。

oracle rac的核心是共享磁碟子系統,集群中所有節點必須能夠訪問所有資料、重做日誌檔案、控制檔案和引數檔案,資料磁碟必須是全域性可用的,允許所有節點訪問資料庫,每個節點有它自己的重做日誌和控制檔案,但是其他節點必須能夠訪問它們以便在那個節點出現系統故障時能夠恢復。

rac中的特點是:

每乙個節點的instance都有自己的sga

每乙個節點的instance都有自己的background process

每乙個節點的instance都有自己的redo logs

每乙個節點的instance都有自己的undo表空間

所有節點都共享乙份datafiles和controlfiles

oracle還提出了乙個快取融合的技術(cache fusion)

目的有兩個

1.保證快取的一致性

2.減少共享磁碟io的消耗

因此在rac環境中多個節點保留了同乙份的db cache

快取融合(cache fusion)工作原理:

?****************************************

1.其中乙個節點會從共享資料庫中讀取乙個block到db cache中

2.這個節點會在所有的節點進行交叉db block copy

3.當任何乙個節點快取被修改的時候,就會在節點之間進行快取修改

4.為了達到儲存的一致最終修改的結果也會寫到磁碟上

clusterware元件:

*******************

有四種service

crsd - 集群資源服務

cssd - 集群同步服務

evmd - 事件管理服務

oprocd - 節點檢測監控

有三類resource

vip - 虛擬ip位址(virtual ip)

ocr - oracle cluster registry(集群註冊檔案),記錄每個節點的相關資訊

voting disk - establishes quorum (表決磁碟),仲裁機制用於仲裁多個節點向共享節點同時寫的行為,這樣做是為了避免發生衝突。

rac的元件:

************

提供過了額外的程序,用來維護資料庫

lms - gobal cache service process 全域性快取服務程序

lmd - global enqueue service daemon 全域性查詢服務守護程序

lmon - global enqueue service monitor全域性查詢服務監視程序

lck0 - instance enqueue process 例項查詢程序

轉至:

Oracle RAC集群簡介

對於rac 來說,最重要的還是要理解內部原理和體系結構。安裝不是非常難的事情。排錯和維護都離不開體系結構以及內部原理。集群分類 1 高效能計算 計算任務分配到不同計算機節點來提高整體計算能力,主要應用在科學計算領域。主要利用的是平行計算。2 負載均衡集群 lb 把業務的負載流量盡可能的平均合理的分配...

Oracle RAC集群簡介

對於 rac來說,最重要的還是要理解內部原理和體系結構。安裝不是非常難的事情。排錯和維護都離不開體系結構以及內部原理。集群分類 1 高效能計算 計算任務分配到不同計算機節點來提高整體計算能力,主要應用在科學計算領域。主要利用的是平行計算。2 負載均衡集群 lb 把業務的負載流量盡可能的平均合理的分配...

Oracle RAC 集群結構

oracle rac的特點 01 可以實現多節點的負載均衡 rac資料庫集群可以根據設定的調整策略,在集群中實現負載均衡的功能,在集群中每個節點都是正常工作的,各個節點也是相互監控的,當集群中某個節點出現故障,rac會自動將故障的節點從集群中隔離,並將在失敗節點上的業務自動切換到其他健康的節點中。0...