CentOS5.2 Linux 64位系統下的Oracle10g的RAC環境虛擬機下載

本博主安裝與配置好的CentOS5.2 Linux 64位系統下的Oracle10g的RAC環境虛擬機下載,下載地址:鏈接:https://pan.baidu.com/s/1O0KD4UgeSO7_bS6fP5qK9A
提取碼:o049 下載後,解壓後,用Vmware workstation打開,即可以直接使用.

一、 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提供了多種數據存儲方式,這個將在下面進行獨立介紹。
二、 Oracle Clusterware體系結構與進程介紹
2.1、Oracle Clusterware 簡介
Cluster Ready Services,簡稱CRS,是oracle開發的一個集群軟件,與其它集群軟件類似,CRS主要完成集群成員管理、心跳監控、故障切換等功能,CRS要求每個集群節點的操作系統必須相同,這樣,通過CRS將多個節點的操作系統綁定到了一起,客戶端對集群的訪問,就像訪問一台服務器一樣。
CRS主要有兩個集群套件組成,分別是voting disk和Oracle Cluster Registry。
voting disk,即為表決磁盤,集群中每個節點定期評估自身的健康情況,然後會把它的狀態信息放入到表決磁盤上。並且節點間也會互相查看其運行狀態,並把信息傳遞給其他節點進而寫入表決磁盤。當集群節點發生故障時,還可以通過表決磁盤進行投票仲裁等,因此,表決磁盤必須放在共享存儲設備上。以保證每個節點都能訪問到。表決磁盤可以是一個裸磁盤分區,也可以是一個獨立的文件。由於它僅記錄節點運行信息,磁盤大小一般在10-20M左右即可。
Oracle Cluster Registry,簡稱OCR,即集群註冊服務,OCR主要用於記錄RAC中集群和數據庫的配置信息。這些信息包括了集群節點的列表、集群數據庫實例到節點的映射以及CRS應用程序資源信息。
CRS使用兩種心跳設備來驗證節點成員的狀態,保證集群的完整性:一個是表決磁盤,集群同步服務進程每隔幾秒鐘都會向表決磁盤寫入一條心跳信息,集群通過表決磁盤即可驗證節點的狀態,如果某個節點在指定的最大時間段內沒有向表決磁盤寫入信息,集群就認為此節點失效了,進而執行故障切換。另一個心跳是節點間私有以太網的心跳,通過這個心跳機制可以判斷節點間是否出現了網絡故障。兩種心跳機制的結合,有效的增加了集群的可靠性。
另外,CRS建議用於內部通訊的私有以太網心跳必須與用於RAC節點間通訊的網絡分開,也就是不能在同一網絡中,如果RAC節點間通訊的網絡與私有以太網心跳在同一個網絡內,那麼,必須保證該網絡不能被非集群系統的節點訪問到。
2.2、Oracle Clusterware 進程介紹
Oracle Clusterware 通過Cluster Ready Services來完成集群功能,CRS包含了一組相互協作的後台進程,下面詳細介紹下CRS中幾個很重要的後台進程。
1Cluster Synchronization Services
簡稱CSS,用於管理與協調集群中各節點的關係,並用於節點間通信,當節點在加入或離開集群時,都由css進行通知集群。CSS在集群中對應的後台進程為CSSD,該進程由oracle用戶運行和管理。當節點發生故障時,cssd會自動重啟操作系統。
2Cluster Ready Services
簡稱CRS,是管理群集內高可用操作的主要程序,在集群中CRS管理所有資源,包括數據庫、服務、實例、vip地址、監聽器、應用進程等,CRS在集群中對應的後台進程為CRSD,該進程可以對集群資源進行啟動、停止、監視和容錯等操作,正常狀態下,CRSD監控節點各種資源,當某個資源發生異常時,自動重啟或者切換該資源。
3Process Monitor Daemon
本博主安裝與配置好的CentOS5.2 Linux 64位系統下的Oracle10g的RAC環境虛擬機下載,下載地址:鏈接:https://pan.baidu.com/s/1O0KD4UgeSO7_bS6fP5qK9A
提取碼:o049 下載後,解壓後,用Vmware workstation打開,即可以直接使用.
簡稱OPROCD,此進程被鎖定在內存中,用於監控集群及提供I/O防護(I/O fencing)。OPROCD運行在每個節點上,且定期執行健康檢測,如果在超過它所希望的間隔內,仍然不能和某個節點通信,那麼,OPROCD將會重置處理器及重啟節點。一個OPROCD故障也將導致Clusterware重啟節點。
4Oracle Notification Service
簡稱ONS,即oracle通告服務,主要用於發佈和訂閱Fast Application Notification事件。
5Event Management
簡稱EVM,是一個事件檢測的後台進程,由oracle用戶運行和管理。
三、 RAC數據庫體系機構與進程
3.1、RAC簡介
RAC是一個具有共享緩存體系結構的集群數據庫,它克服了傳統的不共享和共享磁盤方法的限制,為所有業務應用程序提供了一種具有可伸縮性和可用性的數據庫解決方案,它一般與Oracle Clusterware 或第三方集群軟件共同組成Oracle集群系統。
RAC是一個全共享式的體系架構,它的所有數據文件、控制文件、聯機日誌文件、參數文件等都必須存放在共享磁盤中,因為只有這樣,集群所有節點才能訪問到,RAC支持多種存儲方式,可以使用下面幾種方式的任意一種:
(1)裸設備(Raw devices)
也就是不經過文件系統,將數據直接寫入磁盤中,這種方式的好處是磁盤I/O性能很高,適合寫操作頻繁的業務系統,但缺點也很明顯:數據維護和備份不方便,備份只能通過dd命令或者基於塊級別的備份設備來完成,這無疑增加了維護成本。
(2)集群文件系統
為了支持共享存儲,oracle開發出了集群文件系統OCFS,這個文件系統可用於Windows、Linux和Solaris,現在已經發展到了OCFS2,通過OCFS2文件系統,多個集群節點可以同時讀寫一個磁盤而不破壞數據,但對於大量讀寫的業務系統,性能不是很高。另外,oracle RAC也支持第三方的集群文件系統,例如Redhat的GFS等。
(3)網絡文件系統(NFS)
(4)Automated Storage Management
 Automated Storage Management,簡稱ASM,是Oracle推薦的共享數據存儲方式,它是Oracle數據庫10g包含的一個特性。ASM其實就是RAW方式存儲數據,但是加入了數據管理功能,它通過將數據直接寫入磁盤,避免了經過文件系統而產生的I/O消耗。因而,使用ASM可以很方便地管理共享數據,並提供異步I/O的性能。ASM還可以通過分配I/O負載來優化性能,免除了手動調整I/O的需要。
本博主安裝與配置好的CentOS5.2 Linux 64位系統下的Oracle10g的RAC環境虛擬機下載,下載地址:鏈接:https://pan.baidu.com/s/1O0KD4UgeSO7_bS6fP5qK9A
提取碼:o049 下載後,解壓後,用Vmware workstation打開,即可以直接使用.
3.2、Oracle RAC的特點
通過RAC數據庫,可以構建一個高性能、高可靠的數據庫集群系統,RAC的優勢在於:
(1)可以實現多個節點間的負載均衡
RAC數據庫集群可以根據設定的調度策略,在集群節點間實現負載均衡,因此,RAC數據庫每個節點都是工作的,同時也處於互相監控狀態,當某個節點出現故障時,RAC集群自動將失敗節點從集群隔離,並將失敗節點的請求自動轉移到其它健康節點上,從而實現服務透明切換。
(2)可以提供高可用服務
這個是Oracle Clusterware實現的功能,通過CRS可以實現節點狀態監控,故障透明轉移,這保證了oracle數據庫可以對外不間斷的提供服務。
(3)通過橫向擴展提高了並發連接數
RAC這個優點非常適合大型的聯機事務系統中。
(4)通過並行執行技術提高了事務響應時間
這個是RAC集群的一大優勢,通常用於數據分享系統中。
(5)具有很好的擴展性
在集群系統不能滿足繁忙的業務系統時,RAC數據庫可以很方便的添加集群節點,且可以在線完成節點的添加,並自動加入集群系統,不存在宕機時間;同時在不需要某個集群節點時,刪除節點也非常簡單。
RAC數據庫也有一定的缺點:
(1)與單機數據庫相比,管理維護更複雜,並對維護人員要求更高
(2)底層規劃設計不好時,系統整體性能會較差,甚至不如單機系統的性能。所以,如果對RAC數據庫不是很了解,不建議馬上在生產環境中使用。
(3)由於RAC集群系統需要多個節點,那麼需要購買多台服務器,同時需要oracle企業級版本數據庫,這無形中也增加了軟硬件成本。
3.3、RAC進程管理
RAC數據庫是由多個節點構成的,每個節點就是一個數據庫實例,而每個實例都有自己的後台進程和內存結構,並且在RAC集群中,每個實例的後台進程和內存結構都是相同的,從整體上看起來,就像是一個單一數據庫的鏡像,但是,RAC數據庫在結構上與單實例庫也有不同之處:
(1)RAC數據庫的每個實例至少擁有一個額外的重做線程(redo thread)
(2)RAC數據庫的每個實例都擁有自己的撤消表空間(undo tablespace)
很顯然,這種機制是每個實例獨立的使用自己的重做線程和撤消表空間,各自鎖定自己修改的數據。  RAC的這種設計方式,把多個實例的操作相對獨立的分開。那麼RAC數據庫如何實現節點數據的一致性呢,其實每個RAC實例的SGA內有一個buffer cache(緩衝區),通過Cache Fusion(緩存融合)技術,RAC在各個節點之間同步SGA中的緩存信息,從而保證了節點數據的一致性,同時也提高了集群的訪問速度。
RAC數據庫最大的特點是共享,那麼如何實現多個節點有條不紊的數據共享呢,這就是要說的RAC的兩個進程:即Global Cache Service (GCS) 和 the Global Enqueue Service (GES)
全局緩存服務(GCS)和全局隊列服務(GES)是最基本的RAC進程,主要用於協調對共享數據庫和數據庫內的共享資源的同時訪問。同時,GES和GCS通過使用全局資源目錄(Global Resource Directory,GRD)來記錄和維護每個數據文件的狀態信息,而GRD保存在內存中,內容分佈存儲在所有實例上。每個實例都管理部分內容。
      RAC中通過幾個特別的進程與GRD相結合,使得RAC可以使用緩存融合技術,這幾個特別進程是:
Global Cache Service Processes(LMSn)
LMS進程主要用來管理集群內數據塊的訪問,並在不同實例的BUFFER CACHE中傳輸塊鏡像。
Global Enqueue Service Monitor(LMON)
LMON主要監視群集內的全局資源和集群間的資源交互,並管理實例和處理異常,以及集群隊列的恢復操作。
Global Enqueue Service Daemon(LMD)
LMD進程主要管理對全局隊列和全局資源的訪問,並更新相應隊列的狀態,處理來自於其他實例的資源請求。
Lock Processes(LCK)
LCK進程主要用來管理實例間資源請求和跨實例調用操作,並管理除Cache Fusion以外的資源請求,比如library和row cache的請求等。
Diagnosability Daemon(DIAG)
DIAG進程主要用來捕獲實例中失敗進程的診斷信息,並生成相應的TRACE文件。
3.4、RAC數據庫存儲規劃
安裝RAC數據庫時涉及到的軟件有Oracle Clusterware、Oracle Rac數據庫軟件,同時還涉及到voting disk、OCR等,關於每部分需要佔用磁盤空間大小如下:
在了解了RAC每部分所需的磁盤空間大小後,就可以根據每部分的用途來規劃數據存儲了。RAC廣泛支持各種數據存儲方式,例如單一日誌文件系統ext2/ext3、集群文件系統OCFS2/GFS、網絡文件系統NFS、裸設備RAW、自動存儲管理ASM等,下表列出了可以使用的存儲類型:
具體使用哪種存儲策略,要根據安裝RAC環境的不同而不同。這裡推薦三種常用的存儲方式:
本博主安裝與配置好的CentOS5.2 Linux 64位系統下的Oracle10g的RAC環境虛擬機下載,下載地址:鏈接:https://pan.baidu.com/s/1O0KD4UgeSO7_bS6fP5qK9A
提取碼:o049 下載後,解壓後,用Vmware workstation打開,即可以直接使用.

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營

發表評論

您的電子郵箱地址不會被公開。 必填項已用*標註