在一個應用環境當中所有的服務器使用和管理同一個數據庫目的是為了分散每一台服務器的工作量硬件上至少需要兩台以上的服務器而且還需要一個共享存儲設備同時還需要兩類軟件一個是集群軟件另外一個就是Oracle數據庫中的RAC組件同時所有服務器上的OS都應該是同一類OS根據負載均衡的配置策略當一個客戶端發送請求到某一台服務的listener後這台服務器根據我們的負載均衡策略會把請求發送給本機的RAC組件處理也可能會發送給另外一台服務器的RAC組件處理處理完請求後RAC會通過集群軟件來訪問我們的共享存儲設備
邏輯結構上看每一個參加集群的節點有一個獨立的instance這些instance訪問同一個數據庫節點之間通過集群軟件的通訊層(communication layer)來進行通訊同時為了減少IO的消耗存在了一個全局緩存服務因此每一個數據庫的instance都保留了一份相同的數據庫cache
RAC中的特點是
每一個節點的instance都有自己的SGA
每一個節點的instance都有自己的background process
每一個節點的instance都有自己的redo logs
每一個節點的instance都有自己的undo表空間
所有節點都共享一份datafiles和controlfiles
Oracle還提出了一個緩存融合的技術(Cache fusion)
目的有兩個
保證緩存的一致性IXPUB技術博客
減少共享磁盤IO的消耗IXPUB技術博客
因此在RAC環境中多個節點保留了同一份的DB CACHE
緩存融合(Cache fusion)工作原理
****************************************
其中一個節點會從共享數據庫中讀取一個block到db cache中
這個節點會在所有的節點進行交叉db block copy
當任何一個節點緩存被修改的時候就會在節點之間進行緩存修改
為了達到存儲的一致最終修改的結果也會寫到磁盤上
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全局查詢服務監視進程
LCK Instance Enqueue Process 實例查詢進程
From:http://tw.wingwit.com/Article/program/Oracle/201311/18345.html