天天看點

oracle rac叢集搭建筆記

最近在搭建oracle rac  是以順便做個記錄友善以後給自己翻看和給初學者做下參考

               --其中會引用一些高俊峰老師編寫的(高性能linux伺服器建構實戰)的知識點,但不會太詳細介紹

本文着重記錄搭建過程,以及遇到的問題如何解決。

oracle rac 是oracle公司推出的一套資料庫叢集解決方案,它的全稱是Oracle Real Application Cluster

通俗點說:一個oracle rac 叢集有多很多台伺服器,每個台伺服器上都裝了oracle,每台伺服器運作一個執行個體

從整體上看所有執行個體隸屬于一個資料庫。

他有幾個特點

1,可以實作多個節點的負載均衡

2,實作備援(就是常說的高可用)

3,通過橫向擴充提高并發連接配接數

4,并行執行提高處理事務的效率

5,可擴充,如增加節點。

他的結構圖如下

oracle rac叢集搭建筆記

每個節點由六個部分組成

1,oracle cluster軟體 :主要用來實作心跳監控故障切換 這裡用的比較多的是CRS(Cluster Ready Service)

2,資料庫軟體

3,共享資料檔案,如下圖

oracle rac叢集搭建筆記

4,voting disk(表決磁盤) :主要用來跟蹤節點的狀态,記錄哪個節點挂了,哪個節點正常

5,OCR(叢集注冊服務)主要用于記錄RAC中叢集和資料庫的配置資訊

6,flash recovery area 用于快速恢複資料

在oracle rac體系結構中,每個執行個體都是使用自己獨立的重做現成和撤銷表空間,各自鎖定自己修改的資料,那rac是如何實作

各個節點資料的一緻性呢?每個執行個體的SGA都有自己的buffer cache(緩沖區),rac通過緩存融合技術(cache fusion)同步各個節點SGA緩存的資料,保證各節點資料的一緻性。

下面開始搭建環境

oracle rac叢集搭建筆記

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

桌面環境: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位址無縫地切換到從節點,進而客戶機對伺服器的通路可以由從節點來支援。但是兩台伺服器之間并沒有鏡像程序完成徹底的記憶體鏡像,因而主節點在故障時所運作的資料資訊不能切換到從節點,造成資料丢失以及服務中斷。是以該方案不是嚴格意義上的系統鏡像,實作的是服務一級的切換,并不能實作實時資料的切換。 

繼續閱讀