Oracle數(shù)據(jù)庫的相關(guān)的遠(yuǎn)程復(fù)制的解決方案
以下的文章是對(duì)Oracle的相關(guān)的遠(yuǎn)程復(fù)制和異地容災(zāi)的詳細(xì)描述,就現(xiàn)在而言,針對(duì)Oracle數(shù)據(jù)庫的相關(guān)的遠(yuǎn)程復(fù)制、以及相關(guān)容災(zāi)主要有下面幾種技術(shù)或解決方案,希望你再瀏覽完之后會(huì)有所收獲。
1、基于存儲(chǔ)層的容災(zāi)復(fù)制方案
這種技術(shù)的復(fù)制機(jī)制是通過基于SAN的存儲(chǔ)局域網(wǎng)進(jìn)行復(fù)制,復(fù)制針對(duì)每個(gè)IO進(jìn)行,復(fù)制的數(shù)據(jù)量比較大;系統(tǒng)可以實(shí)現(xiàn)數(shù)據(jù)的同步或異步兩種方式的復(fù)制。對(duì)大數(shù)據(jù)量的系統(tǒng)來說有很大的優(yōu)勢(shì)(每天日志量在60G以上),但是對(duì)主機(jī)、操作系統(tǒng)、Oracle數(shù)據(jù)庫版本等要求一致,且對(duì)絡(luò)環(huán)境的要求比較高。
目標(biāo)系統(tǒng)不需要有主機(jī),只要有存儲(chǔ)設(shè)備就可以,如果需要目標(biāo)系統(tǒng)可讀,需要額外的配置和設(shè)備,比較麻煩。
2、基于邏輯卷的容災(zāi)復(fù)制方案
這種技術(shù)的機(jī)制是通過基于TCP/IP的網(wǎng)絡(luò)環(huán)境進(jìn)行復(fù)制,由操作系統(tǒng)進(jìn)程捕捉邏輯卷的變化進(jìn)行復(fù)制。其特點(diǎn)與基于存儲(chǔ)設(shè)備的復(fù)制方案比較類似,也可以選擇同步或異步兩種方式,對(duì)主機(jī)的軟、硬件環(huán)境的一致性要求也比較高,對(duì)大數(shù)據(jù)量的應(yīng)用比較有優(yōu)勢(shì)。其目標(biāo)系統(tǒng)如果要實(shí)現(xiàn)可讀,需要?jiǎng)?chuàng)建第三方鏡像。個(gè)人認(rèn)為這種技術(shù)和上面提到的基于存儲(chǔ)的復(fù)制技術(shù)比較適合于超大數(shù)據(jù)量的系統(tǒng),或者是應(yīng)用系統(tǒng)的容災(zāi)復(fù)制。
3、基于Oracle redo log的邏輯復(fù)制方式
使用這種方式的主要有一些第三方的軟件,以及Oracle自己的DATAGUARD 中的logical Standby。目前,國外已經(jīng)有了很多比較成熟的產(chǎn)品及成功案例,國內(nèi)也有類似的產(chǎn)品, 但在產(chǎn)品的成熟程度和成功案例上跟國外還有一定的差距。
這類產(chǎn)品的原理基本相同,其工作過程可以分為以下幾個(gè)流程:
使用Oracle以外的獨(dú)立進(jìn)程,捕捉redo log file 的信息,將其翻譯成sql語句,再通過網(wǎng)絡(luò)傳輸?shù)侥繕?biāo)端Oracle數(shù)據(jù)庫,在目標(biāo)端數(shù)據(jù)庫執(zhí)行同樣的sql。如果其進(jìn)程趕不上Oracle日志切換,也可以捕捉歸檔日志中的內(nèi)容。也有的產(chǎn)品在源端以事務(wù)為單位,當(dāng)一個(gè)事務(wù)完成后,再把它傳輸?shù)侥繕?biāo)端。所有的產(chǎn)品一般都是以表為單位進(jìn)行復(fù)制,同時(shí)也支持大部分DDL的復(fù)制(主要在Oracle9i環(huán)境中)。
這種技術(shù)的技術(shù)特點(diǎn)和優(yōu)勢(shì)主要有以下幾點(diǎn):
目標(biāo)端數(shù)據(jù)庫一直是一個(gè)可以訪問的Oracle數(shù)據(jù)庫;能保證兩端數(shù)據(jù)庫的事務(wù)一致性;因?yàn)槭褂肙racle以外的進(jìn)程進(jìn)行捕捉,且其優(yōu)先級(jí)低于Oracle進(jìn)程,所以對(duì)源系統(tǒng)數(shù)據(jù)庫的性能影響很?。换谄鋵?shí)現(xiàn)原理及多個(gè)隊(duì)列文件的使用,復(fù)制環(huán)境可以提供網(wǎng)絡(luò)失敗、數(shù)據(jù)庫失敗、主機(jī)失敗的容錯(cuò)能力;因?yàn)檫@類軟件復(fù)制的只是sql語句或事務(wù),所以他可以完全支持異構(gòu)環(huán)境的復(fù)制,硬件的型號(hào),Oracle的版本,操作系統(tǒng)的種類、版本等都沒有要求。
這種方式還可以支持多種復(fù)制方式,比如數(shù)據(jù)集中、分發(fā)、對(duì)等復(fù)制、或者多層測(cè)的復(fù)制等。
由于傳輸?shù)膬?nèi)容只是redolog 或archive log中的一部分,所以對(duì)網(wǎng)絡(luò)資源的占用很小,可以實(shí)現(xiàn)不同城市之間的遠(yuǎn)程復(fù)制。
基于redolog的邏輯復(fù)制產(chǎn)品有很多的優(yōu)勢(shì),但跟上面提到過的其他方案比較起來,也有一些缺點(diǎn):
數(shù)據(jù)庫的吞吐量太大時(shí),其實(shí)據(jù)會(huì)有較大的延遲,當(dāng)Oracle數(shù)據(jù)庫每天的日量達(dá)到60G或更大時(shí),這種方案的可行性交差;實(shí)施的過程可能會(huì)有一些停機(jī)時(shí)間,來進(jìn)行數(shù)據(jù)的同步和配置的激活;復(fù)制環(huán)境建立起來以后,對(duì)數(shù)據(jù)庫結(jié)構(gòu)上的一些修改需要按照規(guī)定的操作流程進(jìn)行,有一定的維護(hù)成本。
不過目前這類產(chǎn)品的發(fā)展很快,上面的這些問題,在大部分產(chǎn)品的最新版本中都有很大的改進(jìn)。
文章出自:http://database.csdn.net/page/c028435b-83f4-4f23-9051-fb536533c47f
【編輯推薦】