oracle rac集羣搭建筆記

最近在搭建oracle rac  所以順便做個記錄方便以後給自己翻看和給初學者做下參考
               --其中會引用一些高俊峯老師編寫的(高性能linux服務器構建實戰)的知識點,但不會太詳細介紹
本文着重記錄搭建過程,以及遇到的問題如何解決。
         
oracle rac 是oracle公司推出的一套數據庫集羣解決方案,它的全稱是Oracle Real Application Cluster
通俗點說:一個oracle rac 集羣有多很多臺服務器,每個臺服務器上都裝了oracle,每臺服務器運行一個實例
從整體上看所有實例隸屬於一個數據庫。
他有幾個特點
1,可以實現多個節點的負載均衡
2,實現冗餘(就是常說的高可用)
3,通過橫向擴展提高併發連接數
4,並行執行提高處理事務的效率
5,可擴展,如增加節點。

他的結構圖如下

 

每個節點由六個部分組成
1,oracle cluster軟件 :主要用來實現心跳監控故障切換 這裏用的比較多的是CRS(Cluster Ready Service)
2,數據庫軟件
3,共享數據文件,如下圖

 


4,voting disk(表決磁盤) :主要用來跟蹤節點的狀態,記錄哪個節點掛了,哪個節點正常
5,OCR(集羣註冊服務)主要用於記錄RAC中集羣和數據庫的配置信息
6,flash recovery area 用於快速恢復數據

在oracle rac體系結構中,每個實例都是使用自己獨立的重做現成和撤銷表空間,各自鎖定自己修改的數據,那rac是如何實現
各個節點數據的一致性呢?每個實例的SGA都有自己的buffer cache(緩衝區),rac通過緩存融合技術(cache fusion)同步各個節點SGA緩存的數據,保證各節點數據的一致性。

下面開始搭建環境


 
以上是推薦配置,我比較寒酸用的是兩臺虛擬機

 

桌面環境:xwindows system、GNOME desktop environment。
開發工具:development tools、x software development、gnome software development、kde software development。

 1. 方案說明
 服務器Server A和Server B構成雙機熱備份系統的兩臺主機,並且分別作爲主節點(Primary Server)和從節點(Standby Server)。兩臺主機均運行Linux-HA heartbeat,該軟件成爲雙機熱備系統的控制程序。
 兩臺主機通過串口線、以太網等多種方式進行連接,傳送數據和心跳信號,並互相進行狀態監視。可以只使用一種連接方式(如以太網連接),但是多種連接方式下的冗餘路徑可以保證雙機連接的可靠性和服務質量。
 數據庫服務器或磁盤陣列櫃是專門的數據存儲和共享設備,兩臺服務器在運行時,均從該設備中讀取和存儲數據。這種方式可以有效地提高數據傳輸效率,提高雙機熱備服務器的系統性能,並且能夠保證兩臺服務器之間的數據同步。

 2.存在的問題
 雙機備份系統有兩種配置方式,分別是“基於系統切換的雙機系統”和“基於系統鏡像的雙機系統”,二者的區別是:
 基於系統切換的雙機系統僅僅把兩臺服務器的硬盤數據進行鏡像,在主節點失效的情況下,從節點將進行系統一級的切換。該方式不能實現無縫切換,實現的是冷備份。
 基於系統鏡像的雙機系統把兩臺服務器的硬盤數據和內存數據都進行鏡像。爲保證完全的內存鏡像,兩臺服務器之間需通過專用連接網段實時地保持一個連續的、雙向的鏡像進程,該進程確保兩臺服務器之間的數據同步。一旦故障發生,無論任何一臺服務器失效,失效服務器上的數據和應用,將立即切換到另一臺
 服務器上,從而使用戶在沒有中斷的情況下可以繼續使用雙機系統提供的服務。該方式能夠做到無縫切換,實現的是熱備份。
 本方案描述的heartbeat雙機熱備份系統是一種基於系統鏡像的雙機系統,實現方法是,主節點在出現故障的情況下,集羣IP地址無縫地切換到從節點,從而客戶機對服務器的訪問可以由從節點來支持。但是兩臺服務器之間並沒有鏡像進程完成徹底的內存鏡像,因而主節點在故障時所運行的數據信息不能切換到從節點,造成數據丟失以及服務中斷。所以該方案不是嚴格意義上的系統鏡像,實現的是服務一級的切換,並不能實現實時數據的切換。 
 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章