這篇文章主要介紹“Oracle的高可用集群方案有哪些”,在日常操作中,相信很多人在Oracle的高可用集群方案有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”O(jiān)racle的高可用集群方案有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元百色做網(wǎng)站,已為上家服務(wù),為百色各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-869222201 RAC(Real Application Clusters)
多個(gè)Oracle服務(wù)器組成一個(gè)共享的Cache,而這些Oracle服務(wù)器共享一個(gè)基于網(wǎng)絡(luò)的存儲(chǔ)。這個(gè)系統(tǒng)可以容忍單機(jī)/或是多機(jī)失敗。不過(guò)系統(tǒng)內(nèi)部的多個(gè)節(jié)點(diǎn)需要高速網(wǎng)絡(luò)互連,基本上也就是要全部東西放在在一個(gè)機(jī)房?jī)?nèi),或者說(shuō)一個(gè)數(shù)據(jù)中心內(nèi)。如果機(jī)房出故障,比如網(wǎng)絡(luò)不通,那就壞了。所以僅僅用RAC還是滿足不了一般互聯(lián)網(wǎng)公司的重要業(yè)務(wù)的需要,重要業(yè)務(wù)需要多機(jī)房來(lái)容忍單個(gè)機(jī)房的事故。
2 Data Guard.(最主要的功能是冗災(zāi))
Data Guard這個(gè)方案就適合多機(jī)房的。某機(jī)房一個(gè)production的數(shù)據(jù)庫(kù),另外其他機(jī)房部署standby的數(shù)據(jù)庫(kù)。Standby數(shù)據(jù)庫(kù)分物理的和邏輯的。物理的standby數(shù)據(jù)庫(kù)主要用于production失敗后做切換。而邏輯的standby數(shù)據(jù)庫(kù)則在平時(shí)可以分擔(dān)production數(shù)據(jù)庫(kù)的讀負(fù)載。
3 MAA
MAA(Maximum Availability Architecture)其實(shí)不是獨(dú)立的第三種,而是前面兩種的結(jié)合,來(lái)提供最高的可用性。每個(gè)機(jī)房?jī)?nèi)部署RAC集群,多個(gè)機(jī)房間用Data Guard同步。
共享存儲(chǔ)文件系統(tǒng)(NFS),或甚至集群文件系統(tǒng)(如:OCFS2)主要被用于存儲(chǔ)區(qū)域網(wǎng)絡(luò)(所有節(jié)點(diǎn)直接訪問(wèn)共享文件系統(tǒng)上存儲(chǔ)器),這就使得節(jié)點(diǎn)失效而不影響來(lái)自其他節(jié)點(diǎn)對(duì)文件系統(tǒng)的訪問(wèn),通常,共享磁盤文件系統(tǒng)用于高可用集群。
Oracle RAC的核心是共享磁盤子系統(tǒng),集群中所有節(jié)點(diǎn)必須能夠訪問(wèn)所有數(shù)據(jù)、重做日志文件、控制文件和參數(shù)文件,數(shù)據(jù)磁盤必須是全局可用的,允許所有節(jié)點(diǎn)訪問(wèn)數(shù)據(jù)庫(kù),每個(gè)節(jié)點(diǎn)有它自己的重做日志和控制文件,但是其他節(jié)點(diǎn)必須能夠訪問(wèn)它們以便在那個(gè)節(jié)點(diǎn)出現(xiàn)系統(tǒng)故障時(shí)能夠恢復(fù)。
Oracle RAC 運(yùn)行于集群之上,為 Oracle 數(shù)據(jù)庫(kù)提供了最高級(jí)別的可用性、可伸縮性和低成本計(jì)算能力。如果集群內(nèi)的一個(gè)節(jié)點(diǎn)發(fā)生故障,Oracle 將可以繼續(xù)在其余的節(jié)點(diǎn)上運(yùn)行。Oracle 的主要?jiǎng)?chuàng)新是一項(xiàng)稱為高速緩存合并的技術(shù)。高速緩存合并使得集群中的節(jié)點(diǎn)可以通過(guò)高速集群互聯(lián)高效地同步其內(nèi)存高速緩存,從而大限度地低降低磁盤 I/O。高速緩存最重要的優(yōu)勢(shì)在于它能夠使集群中所有節(jié)點(diǎn)的磁盤共享對(duì)所有數(shù)據(jù)的訪問(wèn)。數(shù)據(jù)無(wú)需在節(jié)點(diǎn)間進(jìn)行分區(qū)。Oracle 是唯一提供具備這一能力的開(kāi)放系統(tǒng)數(shù)據(jù)庫(kù)的廠商。其它聲稱可以運(yùn)行在集群上的數(shù)據(jù)庫(kù)軟件需要對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行分區(qū),顯得不切實(shí)際。企業(yè)網(wǎng)格是未來(lái)的數(shù)據(jù)中心,構(gòu)建于由標(biāo)準(zhǔn)化商用組件構(gòu)成的大型配置之上,其中包括:處理器、網(wǎng)絡(luò)和存儲(chǔ)器。Oracle RAC 的高速緩存合并技術(shù)提供了最高等級(jí)的可用性和可伸縮性。Oracle 數(shù)據(jù)庫(kù) 10g 和 OracleRAC 10g 顯著降低了運(yùn)營(yíng)成本,增強(qiáng)了靈活性,從而賦予了系統(tǒng)更卓越的適應(yīng)性、前瞻性和靈活性。動(dòng)態(tài)提供節(jié)點(diǎn)、存儲(chǔ)器、CPU 和內(nèi)存可以在實(shí)現(xiàn)所需服務(wù)級(jí)別的同時(shí),通過(guò)提高的利用率不斷降低成本。
Oracle RAC 10g 在 Oracle 數(shù)據(jù)庫(kù) 10g 運(yùn)行的所有平臺(tái)上提供了一個(gè)完整集成的集群件管理解決方案。這一集群件功能包括集群連接、消息處理服務(wù)和鎖定、集群控制和恢復(fù),以及一個(gè)工作負(fù)載管理框架(將在下文探討)。Oracle RAC 10g 的集成集群件管理具有以下優(yōu)勢(shì):
(一) 成本低。Oracle 免費(fèi)提供這一功能。
(二) 單一廠商支持。消除了相互推諉的問(wèn)題。
(三) 安裝、配置和持續(xù)維護(hù)更簡(jiǎn)單。Oracle RAC 10g 集群件使用標(biāo)準(zhǔn) Oracle 數(shù)據(jù)庫(kù)管理工具進(jìn)行安裝、配置和維護(hù)。這一過(guò)程無(wú)須其它的集成步驟。
(四) 所有平臺(tái),質(zhì)量始終如一。與第三方產(chǎn)品相比,Oracle 對(duì)新軟件版本進(jìn)行了更嚴(yán)格的測(cè)試。
(五) 所有平臺(tái),功能始終如一。例如,一些第三方集群件產(chǎn)品限制了集群內(nèi)可以支持的節(jié)點(diǎn)的數(shù)量。借助Oracle RAC 10g,所有平臺(tái)可以支持多達(dá) 64 個(gè)節(jié)點(diǎn)。用戶還可以在所有平臺(tái)上獲得一致的響應(yīng)體驗(yàn),從而有效解決了高可用性挑戰(zhàn),包括服務(wù)器節(jié)點(diǎn)故障、互連故障以及 I/O 隔離現(xiàn)象等。
(六) 支持高級(jí)功能。這包括集成監(jiān)視和通知功能,從而在發(fā)生故障時(shí),在數(shù)據(jù)庫(kù)和應(yīng)用層之間實(shí)現(xiàn)快速協(xié)調(diào)的恢復(fù)。
RAC 是 Oracle 數(shù)據(jù)庫(kù)的一個(gè)群集解決方案,是有著兩個(gè)或者兩個(gè)以上的數(shù)據(jù)庫(kù)節(jié)點(diǎn)協(xié)調(diào)運(yùn)作能力的。如下圖所示的 RAC 結(jié)構(gòu)圖:
集群管理器(Cluster Manager)在集群系統(tǒng)中對(duì)其他各個(gè)模塊進(jìn)行整合,通過(guò)高速的內(nèi)連接來(lái)提供群集節(jié)點(diǎn)之間的通信。各節(jié)點(diǎn)之間內(nèi)連接使用心跳線互聯(lián),心跳線上的信息功能確定群集邏輯上的節(jié)點(diǎn)成員信息和節(jié)點(diǎn)更新情況,以及節(jié)點(diǎn)在某個(gè)時(shí)間點(diǎn)的運(yùn)行狀態(tài),保證群集系統(tǒng)正常運(yùn)行。通信層管理節(jié)點(diǎn)之間的通信。它的職責(zé)是配置,互聯(lián)群集中節(jié)點(diǎn)信息,在群集管理器中使用由心跳機(jī)制產(chǎn)生的信息,由通信層負(fù)責(zé)傳輸,確保信息的正確到達(dá)。還有一些群集監(jiān)視進(jìn)程不斷驗(yàn)證系統(tǒng)的不同領(lǐng)域運(yùn)行狀況。例如,心跳監(jiān)測(cè)不斷驗(yàn)證的心跳機(jī)制的運(yùn)作是否良好。在一個(gè)應(yīng)用環(huán)境當(dāng)中,所有的服務(wù)器使用和管理同一個(gè)數(shù)據(jù)庫(kù),目的是分散每一臺(tái)服務(wù)器的工作量。硬件上至少需要兩臺(tái)以上的服務(wù)器,而且還需要一個(gè)共享存儲(chǔ)設(shè)備;同時(shí)還需要兩類軟件,一類是集群軟件,另外一類就是 Oracle 數(shù)據(jù)庫(kù)中的 RAC 組件。同時(shí)所有服務(wù)器上的 OS 都應(yīng)該是同一類 OS,根據(jù)負(fù)載均衡的配置策略,當(dāng)一個(gè)客戶端發(fā)送請(qǐng)求到某一臺(tái)服務(wù)的 listener 后,這臺(tái)服務(wù)器根據(jù)負(fù)載均衡策略,會(huì)把請(qǐng)求發(fā)送給本機(jī)的 RAC組件處理,也可能會(huì)發(fā)送給另外一臺(tái)服務(wù)器的 RAC 組件處理,處理完請(qǐng)求后,RAC 會(huì)通過(guò)群集軟件來(lái)訪問(wèn)共享存儲(chǔ)設(shè)備。邏輯結(jié)構(gòu)上看,每一個(gè)參加群集的節(jié)點(diǎn)有一個(gè)獨(dú)立的實(shí)例,這些實(shí)例訪問(wèn)同一個(gè)數(shù)據(jù)庫(kù)。節(jié)點(diǎn)之間通過(guò)集群軟件的通信層(Communication Layer)來(lái)進(jìn)行通信。同時(shí)為了減少 I/O 的消耗,存在一個(gè)全局緩存服務(wù),因此每一個(gè)數(shù)據(jù)庫(kù)的實(shí)例,都保留了一份相同的數(shù)據(jù)庫(kù) cache。RAC 中的特點(diǎn)如下:
l 每一個(gè)節(jié)點(diǎn)的實(shí)例都有自己的 SGA;
l 每一個(gè)節(jié)點(diǎn)的實(shí)例都有自己的后臺(tái)進(jìn)程
l 每一個(gè)節(jié)點(diǎn)的實(shí)力都有自己的 redo logs
l 每一個(gè)節(jié)點(diǎn)的實(shí)例都有自己的 undo 表空間
l 所有節(jié)點(diǎn)都共享一份 datafiles 和 controlfiles
在 Oracle9i 之前,RAC 稱為 OPS(Oracle Parallel Server)。RAC 與 OPS 之間的一個(gè)較大區(qū)別是,RAC 采用了Cache Fusion(高緩存合并)技術(shù),節(jié)點(diǎn)已經(jīng)取出的數(shù)據(jù)塊更新后沒(méi)有寫入磁盤前,可以被另外一個(gè)節(jié)點(diǎn)更新,然后以最后的版本寫入磁盤。在 OPS 中,節(jié)點(diǎn)間的數(shù)據(jù)請(qǐng)求需要先將數(shù)據(jù)寫入磁盤,然后發(fā)出請(qǐng)求的節(jié)點(diǎn)才可以讀取該數(shù)據(jù)。使用 Cache Fusion 時(shí),RAC 的各個(gè)節(jié)點(diǎn)間數(shù)據(jù)緩沖區(qū)通過(guò)高速、低延遲的內(nèi)部網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)塊的傳輸。下圖是一個(gè)典型的 RAC 對(duì)外服務(wù)的示意圖,一個(gè) Oracle RAC Cluster 包含了如下的部分
集群的節(jié)點(diǎn)(Cluster node)——2 個(gè)到 N 個(gè)節(jié)點(diǎn)或者主機(jī)運(yùn)行 Oracle Database Server。
私有網(wǎng)絡(luò)(Network Interconnect)——RAC 之間需要一個(gè)高速互聯(lián)的私有網(wǎng)絡(luò)來(lái)處理通信和 Cache Fusion。
共享存儲(chǔ)(shared Storage)——RAC 需要共享存儲(chǔ)設(shè)備讓所有的節(jié)點(diǎn)都可以訪問(wèn)數(shù)據(jù)文件。
對(duì)外服務(wù)的網(wǎng)絡(luò)(Production Network)——RAC 對(duì)外服務(wù)的網(wǎng)絡(luò)??蛻舳撕蛻?yīng)用都通過(guò)這個(gè)網(wǎng)絡(luò)來(lái)訪問(wèn)。
Oracle RAC 有一些自己獨(dú)特的后臺(tái)進(jìn)程,在單一實(shí)例中不發(fā)揮配置作用。如下圖所示,定義了一些 RAC 運(yùn)行的后臺(tái)進(jìn)程。這些后臺(tái)進(jìn)程的功能描述如下。
(1)LMS(Global cache service processes 全局緩存服務(wù)進(jìn)程)進(jìn)程主要用來(lái)管理集群內(nèi)數(shù)據(jù)塊的訪問(wèn),并在不同實(shí)例的 Buffer Cache 中傳輸數(shù)據(jù)塊鏡像。直接從控制的實(shí)例的緩存復(fù)制數(shù)據(jù)塊,然后發(fā)送一個(gè)副本到請(qǐng)求的實(shí)例上。并保證在所有實(shí)例的 Buffer Cache 中一個(gè)數(shù)據(jù)塊的鏡像只能出現(xiàn)一次。LMS 進(jìn)程靠著在實(shí)例中傳遞消息來(lái)協(xié)調(diào)數(shù)據(jù)塊的訪問(wèn),當(dāng)一個(gè)實(shí)例請(qǐng)求數(shù)據(jù)塊時(shí),該實(shí)例的 LMD 進(jìn)程發(fā)出一個(gè)數(shù)據(jù)塊資源的請(qǐng)求,該請(qǐng)求指向主數(shù)據(jù)塊的實(shí)例的 LMD 進(jìn)程,主實(shí)例的 LMD 進(jìn)程和正在使用的實(shí)例的 LMD 進(jìn)程釋放該資源,這時(shí)擁有該資源的實(shí)例的 LMS 進(jìn)程會(huì)創(chuàng)建一個(gè)數(shù)據(jù)塊鏡像的一致性讀然后把該數(shù)據(jù)塊傳遞到請(qǐng)求該資源的實(shí)例的BUFFER CACHE 中。LMS 進(jìn)程保證了在每一時(shí)刻只能允許一個(gè)實(shí)例去更新數(shù)據(jù)塊,并負(fù)責(zé)保持該數(shù)據(jù)塊的鏡像記錄(包含更新數(shù)據(jù)塊的狀態(tài) FLAG)。RAC 提供了 10 個(gè) LMS 進(jìn)程(0~9),該進(jìn)程數(shù)量隨著節(jié)點(diǎn)間的消息傳遞的數(shù)據(jù)的增加而增加。(2)LMON(Lock Monitor Process,鎖監(jiān)控進(jìn)程)是全局隊(duì)列服務(wù)監(jiān)控器,各個(gè)實(shí)例的 LMON 進(jìn)程會(huì)定期通信,以檢查集群中各個(gè)節(jié)點(diǎn)的健康狀況,當(dāng)某個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),負(fù)責(zé)集群重構(gòu)、GRD 恢復(fù)等操作,它提供的服務(wù)叫做 Cluster Group Service(CGS)。
LMON 主要借助兩種心跳機(jī)制來(lái)完成健康檢查。
(一) 節(jié)點(diǎn)間的網(wǎng)絡(luò)心跳(Network Heartbeat):可以想象成節(jié)點(diǎn)間定時(shí)的發(fā)送 ping 包檢測(cè)節(jié)點(diǎn)狀態(tài),如果能在規(guī)定時(shí)間內(nèi)收到回應(yīng),就認(rèn)為對(duì)方狀態(tài)正常。
(二) 通過(guò)控制文件的磁盤心跳(controlfile heartbeat):每個(gè)節(jié)點(diǎn)的 CKPT 進(jìn)程每隔 3 秒鐘更新一次控制文件的數(shù)據(jù)塊,這個(gè)數(shù)據(jù)塊叫做 Checkpoint Progress Record,控制文件是共享的,所以實(shí)例間可以互相檢查對(duì)方是否及時(shí)更新來(lái)判斷。
(三) LMD(the global enqueue service daemon,鎖管理守護(hù)進(jìn)程)是一個(gè)后臺(tái)進(jìn)程,也被稱為全局的隊(duì)列服務(wù)守護(hù)進(jìn)程,因?yàn)樨?fù)責(zé)對(duì)資源的管理要求來(lái)控制訪問(wèn)塊和全局隊(duì)列。在每一個(gè)實(shí)例的內(nèi)部,LMD 進(jìn)程管理輸入的遠(yuǎn)程資源請(qǐng)求(即來(lái)自集群中其他實(shí)例的鎖請(qǐng)求)。此外,它還負(fù)責(zé)死鎖檢查和監(jiān)控轉(zhuǎn)換超時(shí)。
(四) LCK(the lock process,鎖進(jìn)程)管理非緩存融合,鎖請(qǐng)求是本地的資源請(qǐng)求。LCK 進(jìn)程管理共享資源的實(shí)例的資源請(qǐng)求和跨實(shí)例調(diào)用操作。在恢復(fù)過(guò)程中它建立一個(gè)無(wú)效鎖元素的列表,并驗(yàn)證鎖的元素。由于處理過(guò)程中的 LMS 鎖管理的首要職能,只有一個(gè)單一的 LCK 進(jìn)程存在每個(gè)實(shí)例中。
(五) DIAG(the diagnosability daemon,診斷守護(hù)進(jìn)程)負(fù)責(zé)捕獲 RAC 環(huán)境中進(jìn)程失敗的相關(guān)信息。并將跟蹤信息寫出用于失敗分析,DIAG 產(chǎn)生的信息在與 Oracle Support 技術(shù)合作來(lái)尋找導(dǎo)致失敗的原因方面是非常有用的。每個(gè)實(shí)例僅需要一個(gè) DIAG 進(jìn)程。
(六) GSD(the global service daemon,全局服務(wù)進(jìn)程)與 RAC 的管理工具 dbca、srvctl、oem 進(jìn)行交互,用來(lái)完成實(shí)例的啟動(dòng)關(guān)閉等管理事務(wù)。為了保證這些管理工具運(yùn)行正常必須在所有的節(jié)點(diǎn)上先start gsd,并且一個(gè) GSD 進(jìn)程支持在一個(gè)節(jié)點(diǎn)的多個(gè) rac.gsd 進(jìn)程位ORACLEHOME/bin目錄下,其log文件為ORACLEHOME/bin目錄下,其log文件為ORACLE_HOME/srvm/log/gsdaemon.log。GCS 和 GES 兩個(gè)進(jìn)程負(fù)責(zé)通過(guò)全局資源目錄(Global Resource Directory GRD)維護(hù)每個(gè)數(shù)據(jù)的文件和緩存塊的狀態(tài)信息。當(dāng)某個(gè)實(shí)例訪問(wèn)數(shù)據(jù)并緩存了數(shù)據(jù)之后,集群中的其他實(shí)例也會(huì)獲得一個(gè)對(duì)應(yīng)的塊鏡像,這樣其他實(shí)例在訪問(wèn)這些數(shù)據(jù)是就不需要再去讀盤了,而是直接讀取 SGA 中的緩存。GRD 存在于每個(gè)活動(dòng)的 instance 的內(nèi)存結(jié)構(gòu)中,這個(gè)特點(diǎn)造成 RAC 環(huán)境的 SGA 相對(duì)于單實(shí)例數(shù)據(jù)庫(kù)系統(tǒng)的 SGA 要大。其他的進(jìn)程和內(nèi)存結(jié)構(gòu)都跟單實(shí)例數(shù)據(jù)庫(kù)差別不大。
RAC 需要有共享存儲(chǔ),獨(dú)立于實(shí)例之外的信息,如上面提到的ocr 和 votedisk 以及數(shù)據(jù)文件都存放在這個(gè)共享存儲(chǔ)里的。有OCFS、OCFS2、RAW、NFS、ASM 等這樣的一些存儲(chǔ)方式。OCFS(Oracle Cluster File System) 和 OCFS2 就是一個(gè)文件系統(tǒng)而已,和 NFS 一樣,提供一種集群環(huán)境中的共享存儲(chǔ)的文件系統(tǒng)。RAW 裸設(shè)備也是一種存儲(chǔ)方式,是 oracle11g 之前的版本中 RAC 支持的存儲(chǔ)方式,在 Oralce9i 之前,OPS/RAC的支持只能使用這樣的方式,也就是把共享存儲(chǔ)映射到 RAW Device,然后把 Oracle 需要的數(shù)據(jù)選擇 RAW device存儲(chǔ),但是 RAW 相對(duì)于文件系統(tǒng)來(lái)說(shuō)不直觀,不便于管理,而且 RAW Device 有數(shù)量的限制,RAW 顯然需要有新的方案來(lái)代替,這樣就有了 OCFS 這樣的文件系統(tǒng)。當(dāng)然,這只是 Oracle 自己的實(shí)現(xiàn)的集文件系統(tǒng)而已,還有其他廠商提供的文件系統(tǒng)可以作為存儲(chǔ)的選擇方案。ASM 只是數(shù)據(jù)庫(kù)存儲(chǔ)的方案而已,并不是 cluster 的方案,所以這里 ASM 應(yīng)該是區(qū)別于 RAW 和 OCFS/OCFS2同一級(jí)別的概念,RAW 和 OCFS/OCFS2 不僅可以作為數(shù)據(jù)庫(kù)存儲(chǔ)的方案,同時(shí)也可以作為 Clusterware 里的存儲(chǔ)方案,是 CRS 里需要的 storage,而 ASM 僅作為數(shù)據(jù)庫(kù)的存儲(chǔ)而已,嚴(yán)格來(lái)說(shuō)僅是 RAC 中的一個(gè)節(jié)點(diǎn)應(yīng)用(nodeapps)。ASM 對(duì)于 clusterware 安裝時(shí)需要的 ocr 和 votedisk 這兩項(xiàng)還不支持,畢竟 ASM 本身就需要一個(gè)實(shí)例,而 CRS 是完全在架構(gòu)之外的,這也就是為什么使用了 ASM 的方案,卻總還要加上 OCFS/OCFS2 和 RAW 其中的一個(gè)原因。各種 RAC 共享存儲(chǔ)方式的對(duì)比如下:
集群文件系統(tǒng)——支持 windows 和 Linux 的 OCFS/OCFS2
AIX 下的 GPFS 等方式——優(yōu)點(diǎn)是管理方便,表示也很直觀,但缺點(diǎn)是基于文件系統(tǒng)管理軟件,又要經(jīng)過(guò) OS 的 cache 處理,性能上和穩(wěn)定性上都有欠缺,所以不適合在生產(chǎn)環(huán)境下使用。可以支持 CRS 集群軟件文件和數(shù)據(jù)庫(kù)文件。
RAW 裸設(shè)備方式——通過(guò)硬件支持的共享存儲(chǔ)系統(tǒng),直接用 RAW 設(shè)備存儲(chǔ),可以支持集群軟件文件和數(shù)據(jù)庫(kù)文件。
網(wǎng)絡(luò)文件系統(tǒng)(NFS)——通過(guò) NFS 實(shí)現(xiàn)共享存儲(chǔ),不過(guò)需要經(jīng)過(guò) Oracle 認(rèn)證的 NFS 才行,可以支持CRS 集群軟件文件和數(shù)據(jù)庫(kù)文件。
ASM——集合 RAW 方式 I/O 高性能和集群文件系統(tǒng)易管理等優(yōu)點(diǎn),Oracle10g 下推出的共享存儲(chǔ)方式,但是本身 ASM 就是需要 Oracle 的實(shí)例支持,所以 ASM 僅支持?jǐn)?shù)據(jù)庫(kù)文件,而不支持 CRS 文件。
為了讓 RAC 中的所有實(shí)例能夠訪問(wèn)數(shù)據(jù)庫(kù),所有的 datafiles、control files、PFILE/Spfile 和 redo log files 必須保存在共享磁盤上,并且要都能被所有節(jié)點(diǎn)同時(shí)訪問(wèn),就涉及到裸設(shè)備和集群文件系統(tǒng)等。RAC database 在結(jié)構(gòu)上與單實(shí)例的不同之處:至少為每個(gè)實(shí)例多配置一個(gè) redo 線程,比如:兩個(gè)實(shí)例組成的集群至少要 4 個(gè) redo log group。每個(gè)實(shí)例兩個(gè) redo group。另外要為每一個(gè)實(shí)例準(zhǔn)備一個(gè) UNDO 表空間。
1、redo 和 undo,每個(gè)實(shí)例在做數(shù)據(jù)庫(kù)的修改時(shí)誰(shuí)用誰(shuí)的 redo 和 undo 段,各自鎖定自己修改的數(shù)據(jù),把不同實(shí)例的操作相對(duì)的獨(dú)立開(kāi)就避免了數(shù)據(jù)不一致。后面就要考慮備份或者恢復(fù)時(shí) redo log 和歸檔日志在這種情況下的特殊考慮了。
2、內(nèi)存和進(jìn)程各個(gè)節(jié)點(diǎn)的實(shí)例都有自己的內(nèi)存結(jié)構(gòu)和進(jìn)程結(jié)構(gòu).各節(jié)點(diǎn)之間結(jié)構(gòu)是基本相同的.通過(guò) Cache Fusion(緩存融合)技術(shù),RAC 在各個(gè)節(jié)點(diǎn)之間同步 SGA 中的緩存信息達(dá)到提高訪問(wèn)速度的效果也保證了一致性。
到此,關(guān)于“Oracle的高可用集群方案有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!