一、 Oracle叢集體繫結構
Oracle RAC,全稱是Oracle Real Application Cluster,即真正的應用叢集,是oracle提供的一個並行叢集系統,整個叢集系統由Oracle Clusterware (叢集就緒軟體)和 Real Application Clusters(RAC)兩大部分組成。
oracle RAC的實質是位於不同作業系統的Oracle執行個體節點同時訪問同一個Oracle資料庫,每個節點間通過私人網路進行通訊,互相監控節點的運行狀態,oracle資料庫所有的資料檔案、聯機記錄檔、控制檔案等均放在叢集的共用存放裝置上,而共用存放裝置可以是RAW、ASM、OCFS2等,所有叢集節點可以同時讀寫共用儲存。Oracle RAC的基本拓撲結構如下所示:
由拓撲結構可知:
一個Oracle Rac資料庫有多個伺服器節點組成,每個伺服器節點上都有自己獨立的OS、ClusterWare、oracle Rac資料庫程式等,並且每個節點都有自己的網路監聽器。ClusterWare是一個叢集軟體,主要用於叢集系統管理,oracle Rac資料庫程式用於提供oracle執行個體進程,以供用戶端訪問叢集系統,監聽服務主要用於監控自己的網路連接埠資訊,所有的服務和程式通過作業系統都去訪問一個共用儲存,最終完成資料的讀寫。共用儲存的實現方式有很多種,可以通過使用自動儲存管理(ASM)、Oracle叢集檔案系統(OCFS)、裸裝置(Raw)、網路地區儲存(NAS)等來保證整個叢集系統資料的一致性。
從Oracle10g起,Oracle提供了自己的叢集軟體,即Oracle clusterware,它通過CRS(即Cluster Ready Services)來實現,這個軟體是安裝oracle rac的前提,也是RAC環境穩定啟動並執行基礎,在oracle10g之前的版本,安裝RAC時必須藉助與第三方的叢集軟體,而在oracle10g以後,安裝oracle rac時,可以用oracle內建的叢集軟體,也可以使用經過RAC認證的第三方叢集軟體來代替。
從oracle的運行機制來說,叢集中每台伺服器就是一個oracle執行個體,多個oracle執行個體對應同一個oracle資料庫,組成了oracle資料庫叢集。請看:
可以看出,運行在兩個節點上的資料庫執行個體訪問同一個RAC資料庫,並且兩個節點的本地磁碟僅用來存放oracle安裝程式和ClusterWare軟體,而在共用儲存上,存放了oracle的資料檔案、控制檔案、聯機記錄檔、歸檔記錄檔等,這是安裝oracle Rac時的一種資料存放區分配方式,其實,RAC提供了多種資料存放區方式,這個將在下面進行獨立介紹。