ORACLE RAC工作原理

tianya_2011發表於2012-12-12
ORACLE RAC工作原理:

      在一個應用環境當中,所有的伺服器使用和管理同一個資料庫,目的是為了分散每一臺伺服器的工作量,硬體上至少需要兩臺以上的伺服器,而且還需要一個共享儲存裝置。同時還需要兩類軟體,一個是叢集軟體,另外一個就是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)

目的有兩個
       1.保證快取的一致性IXPUB技術部落格
       2.減少共享磁碟IO的消耗IXPUB技術部落格
      因此在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 例項查詢程式

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25373498/viewspace-751247/,如需轉載,請註明出處,否則將追究法律責任。

相關文章