Oracle的主從復(fù)制Data Guard
Data Guard 是Oracle的遠程復(fù)制技術(shù),它有物理和邏輯之分,但是總的來說,它需要在異地有一套獨立的系統(tǒng),這是兩套硬件配置可以不
?
?
Data Guard 是Oracle的遠程復(fù)制技術(shù),它有物理和邏輯之分,但是總的來說,它需要在異地有一套獨立的系統(tǒng),這是兩套硬件配置可以不同的系統(tǒng),但是這兩套系統(tǒng)的軟件結(jié)構(gòu)保持一致,包括軟件的版本,目錄存儲結(jié)構(gòu),以及數(shù)據(jù)的同步(其實也不是實時同步的),這兩套系統(tǒng)之間只要網(wǎng)絡(luò)是通的就可以了,是一種異地容災(zāi)的解決方案。而對于RAC,則是本地的高可用集群,每個節(jié)點用來分擔(dān)不用或相同的應(yīng)用,以解決運算效率低下,單節(jié)點故障這樣的問題,它是幾臺硬件相同或不相同的服務(wù)器,加一個SAN(共享的存儲區(qū)域)來構(gòu)成的。
相關(guān)閱讀:Oracle listener 詳解(“DEDICATED” established:0 refused:0)
Data Guard由兩個多兩個以上的獨立的數(shù)據(jù)庫構(gòu)成,他們各自有各自的存儲,Oracle負(fù)責(zé)他們之間的切換和數(shù)據(jù)同步
雙機熱備由兩臺計算機和一個共享存儲設(shè)備構(gòu)成,通過第三方軟件(HA Rose等)實現(xiàn)切換,不需要做數(shù)據(jù)同步
建議應(yīng)用RAC+Dataguard ,RAC保證可用性,Dataguard在RAC組獨立磁盤上和另外一臺主機上,保證可靠性。
雙機就是人們所說的雙機熱備,數(shù)據(jù)庫放在共享設(shè)備上,同一時刻只能有一臺主機接管,,另一臺待用,這種方式只能保護實例,不能保護db,而且備機長期處于閑置,對資源是一種極大的浪費!
如果原本是雙機,建議轉(zhuǎn)換為RAC
規(guī)劃好應(yīng)用,DML操作從一個節(jié)點跑,查詢操作從另一個節(jié)點跑,通常不需要太多調(diào)優(yōu)就可以利用閑置的另外一臺機器了
RAC服務(wù)器共用一套存儲,同時提供服務(wù),沒有主備之分.宕一個其它的可以繼續(xù)服務(wù).
雙機熱備,共用一套存儲,一個提供服務(wù)一個備份,主機宕了切換到備份服務(wù)器提供服務(wù).
data guard 完全兩套系統(tǒng),存儲是單獨的,用日志同步.
RAC: 實例層冗余
DG :數(shù)據(jù)庫層冗余
熱備:僅僅只是數(shù)據(jù)冗余
個人理解:
RAC :實例冗余,而且還可以做到數(shù)據(jù)庫的loadbalance。
DG :多份數(shù)據(jù),所以能做到數(shù)據(jù)冗余,但是只有主節(jié)點提供服務(wù)。
熱備:與RAC最大的差異可能就是RAC有多個實例,一個數(shù)據(jù)庫。而熱備只是一個實例,一個數(shù)據(jù)庫。所以做不了并發(fā)和loadbalance。
Oracle RAC只是做Oracle的應(yīng)用,rose,legato還可以做其它的
HA:是High Availability 的首字母組合,翻譯過來,可以叫做高可用,或高可用性,高可用(環(huán)境)。我覺得應(yīng)該說HA是一個觀念而不是一項或一系列具體技術(shù),就象網(wǎng)格一樣。作過系統(tǒng)方案就知道了,評價系統(tǒng)的性能當(dāng)中就有一項高可用。廣義的高可用涉及到系統(tǒng)的各個方面,簡單來說,讓系統(tǒng)不會中斷 運行,就是高可用。包括軟件的高可用,硬件的高可用,網(wǎng)絡(luò)的高可用等等。具體實現(xiàn)的方案包括操作系統(tǒng)的集群,數(shù)據(jù)庫的集群,硬件的冗余,網(wǎng)絡(luò)的冗余等等。做HA方面的軟件,有IBM的HACMP(很多常用AIX的人,常說的HA就指HACMP,亂?。?、SUN的Sun Cluster、HP的MC/SG等。
在2000年以前,大家談HA,大部分時候說的是操作系統(tǒng)一級的雙機熱備,主流產(chǎn)品當(dāng)時有IBM HACMP4.1,HP的MC/SG啥版本忘了,sun的系統(tǒng)很多人不用VCS,用的是一個叫dataware的東西。現(xiàn)在很多人眼中的HA也還是這樣。時至今日,HA包括的東西可就多了,先不說其他方面,單就數(shù)據(jù)庫,單就Oracle,與HA相關(guān)的產(chǎn)品先后有:高級復(fù)制(AdvanceRepication)、OPS/RAC(Real Application Cluster)、數(shù)據(jù)衛(wèi)士(Data Guard)、oracle流(Oracle Streams)、分區(qū)(Oracle Partition)這樣數(shù)款產(chǎn)品。照這么說,RAC只是HA這個概念下的一個具體產(chǎn)品而已!目前為止,只有RAC和分區(qū)是Oracle要收取licence的,其他的,只要給經(jīng)驗豐富的第三方實施方付一定的規(guī)劃/設(shè)計及部署費用就可以了;當(dāng)然,也可以自己照著文檔依葫蘆畫瓢,但是這樣弄出的環(huán)境是否能達到高可用就難說了。事實上,大部分人所說的HA,還是狹義上的HA,也就是OS一級的雙機熱備。
RAC:是real Application cluster的簡稱,它是在多個主機上運行一個數(shù)據(jù)庫的技術(shù),即是一個db多個instance。它的好處是 可以由多個性能較差的機器構(gòu)建出一個整體性能很好的集群,并且實現(xiàn)了負(fù)載均衡,那么當(dāng)一個節(jié)點出現(xiàn)故障時,其上的服務(wù)會自動轉(zhuǎn)到另外的節(jié)點去執(zhí)行,用戶甚 至感覺不到什么。
雙機熱備(HA)和RAC有啥區(qū)別呢?
1、對于硬件來說,基本上一樣,共享存儲、光纖線(也有還用SCSI線的)、多臺小型機(可以做多節(jié)點的相互熱備,也可以做多節(jié)點的RAC)、光纖交換機(如果是用光纖卡的話);但做RAC,在主機之間,最好使用高帶寬網(wǎng)絡(luò)交換機(雖然不用也可以做成);因此硬件成本相差不大。
2、軟件呢,差別可不小。如果是雙機熱備,必須買操作系統(tǒng)級的雙機管理軟件;如果是RAC,目前還是建議購買雙機管理軟件(盡管10g的crs+asm可以擺脫雙機軟件了,但ASM目前實在太難伺候了),當(dāng)然還得買RAC license。
3、日常維護。RAC要求的技術(shù)含量更高,也應(yīng)該更勤快。最關(guān)鍵的是得買oracle服務(wù),否則遇到有些問題(bug),你就比單機還不高可用了。
4、優(yōu)缺點。這個,看看RAC的官方論述吧。如果能用好,確實是很有好處的。目前我們的40多個客戶的使用情況來看,RAC確實大大降低了他們的downtime,另一方面可以說就是提高了生產(chǎn)力咯。
Dataguard:一般是出于容災(zāi)的目的。是主數(shù)據(jù)庫的備用庫(standby 庫)通過自動傳送和接受archivelog,并且在dataguard庫自動Apply 這些log,從而達到和主數(shù)據(jù)庫同步的目的,可能dataguard 庫是建立的異地的,當(dāng)主庫所在的區(qū)域出現(xiàn)了致命性的災(zāi)難時(火災(zāi)、地震等),主庫沒法修復(fù)時,這時可以切換dataguard 為主庫的模式,對外提供服務(wù),而它的數(shù)據(jù)基本是當(dāng)前最新的。目前可能大家對于 dataguard 庫的使用已經(jīng)拓展出了其他更多的用途,比如備份,跑報表等等。
來源:https://www.dianjilingqu.com/434398.html