三種Oracle災(zāi)備技術(shù)
對(duì)于Oracle數(shù)據(jù)庫(kù)的災(zāi)備技術(shù),我們可以從Data Guard,GoldenGate和CDP角度去考慮。
Oracle Data Guard提供了一種數(shù)據(jù)同步技術(shù)來(lái)實(shí)現(xiàn)Oracle的高可用性、增強(qiáng)的性能以及自動(dòng)的故障轉(zhuǎn)移方案,為主數(shù)據(jù)庫(kù)創(chuàng)建和維護(hù)多個(gè)備用數(shù)據(jù)庫(kù),主數(shù)據(jù)庫(kù)的改變能夠自動(dòng)將信息從主數(shù)據(jù)庫(kù)傳送到備用數(shù)據(jù)庫(kù),并保證在此過(guò)程中沒(méi)有信息的丟失。Oracle Data Guard實(shí)現(xiàn)方式(見(jiàn)圖1)
圖1:Oracle Data Guard實(shí)現(xiàn)方式圖
Data Guard有兩種類(lèi)型的備用數(shù)據(jù)庫(kù):物理備用和邏輯備用數(shù)據(jù)庫(kù),雖然都是通過(guò)歸檔日志來(lái)實(shí)現(xiàn)主數(shù)據(jù)庫(kù)和備用數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性,但是過(guò)程卻不相同:一個(gè)是通過(guò)物理磁盤(pán)的方式,一個(gè)是通過(guò)重新生成SQL事物來(lái)完成數(shù)據(jù)同步。
而GoldenGate則是一種基于日志的結(jié)構(gòu)化數(shù)據(jù)復(fù)制技術(shù),它通過(guò)解析源數(shù)據(jù)庫(kù)在線日志或歸檔日志獲得數(shù)據(jù)的增量變化,再將這些變化應(yīng)用到目標(biāo)數(shù)據(jù)庫(kù),從而實(shí)現(xiàn)源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)同步。GoldenGate 可以在異構(gòu)的IT基礎(chǔ)結(jié)構(gòu)(包括幾乎所有常用操作系統(tǒng)平臺(tái)和數(shù)據(jù)庫(kù)平臺(tái))之間實(shí)現(xiàn)大量數(shù)據(jù)的實(shí)時(shí)復(fù)制(大概5秒以?xún)?nèi)的延遲),從而可以在應(yīng)急系統(tǒng)、在線報(bào)表、實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)供應(yīng)、交易跟蹤、數(shù)據(jù)同步、集中/分發(fā)、容災(zāi)等多個(gè)場(chǎng)景下應(yīng)用。由于GoldenGate是通過(guò)分析過(guò)濾日志來(lái)捕捉變化,因而可以實(shí)現(xiàn)跨平臺(tái)的數(shù)據(jù)庫(kù)復(fù)制以及非Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)同步。
CDP(Continue Data Protection 持續(xù)數(shù)據(jù)保護(hù))是一項(xiàng)新興的技術(shù),也是目前最熱門(mén)的數(shù)據(jù)保護(hù)技術(shù)之一。行業(yè)內(nèi)通常的定義為:持續(xù)數(shù)據(jù)保護(hù)是一套方法,它可以捕獲或跟蹤數(shù)據(jù)的變化,并將其在生產(chǎn)數(shù)據(jù)之外獨(dú)立存放,以確保數(shù)據(jù)可以恢復(fù)到過(guò)去的任意時(shí)間點(diǎn)。持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)可以基于塊、文件或應(yīng)用實(shí)現(xiàn),可以為恢復(fù)對(duì)象提供足夠細(xì)的恢復(fù)粒度,實(shí)現(xiàn)幾乎無(wú)限多的恢復(fù)時(shí)間點(diǎn)。
由于Oracle數(shù)據(jù)庫(kù)對(duì)讀寫(xiě)一致性的特殊性要求,CDP廠商通常是通過(guò)調(diào)用Oracle9.2后提供的快照技術(shù),能夠在數(shù)據(jù)庫(kù)正常運(yùn)行的同時(shí)生成某一個(gè)時(shí)間點(diǎn)的一致性的鏡像(注意一定是一致性鏡像),Oracle數(shù)據(jù)庫(kù)支持在這個(gè)一致性鏡像基礎(chǔ)上通過(guò)recover database,達(dá)到一致性的恢復(fù)。
圖2:CDP實(shí)現(xiàn)方式圖
災(zāi)備技術(shù)深入比較
這三種技術(shù)都實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的災(zāi)難備份,但各有特點(diǎn),存在以下幾方面的不同。
基本原理
Oracle Data Guard 是通過(guò)Oracle數(shù)據(jù)庫(kù)歸檔日志來(lái)實(shí)現(xiàn)的,并且通過(guò)Oracle Net來(lái)傳輸日志;Oracle Golden Gate是通過(guò)對(duì)歸檔日志的捕捉并分析其的變化來(lái)實(shí)現(xiàn)的,有自己獨(dú)享的傳輸方式;CDP技術(shù)是通過(guò)數(shù)據(jù)庫(kù)鏡像來(lái)來(lái)實(shí)現(xiàn)數(shù)據(jù)同步,數(shù)據(jù)庫(kù)鏡像的歸檔以及傳送策略是通過(guò)CDP軟件來(lái)完成。Oracle Data Guard無(wú)論是物理備用或者邏輯備用都最多只能使數(shù)據(jù)庫(kù)處在同時(shí)讀的狀態(tài),不能實(shí)現(xiàn)同時(shí)讀寫(xiě),只能實(shí)現(xiàn)主機(jī)和備機(jī)的單活狀態(tài);Oracle GoldenGate由于其實(shí)現(xiàn)方式,兩端數(shù)據(jù)庫(kù)都處在雙活狀態(tài),備份端可以提供實(shí)時(shí)的數(shù)據(jù)查詢(xún)及報(bào)表業(yè)務(wù)等,從而提高系統(tǒng)整體的業(yè)務(wù)處理能力,充分利用備份端的計(jì)算能力,提升系統(tǒng)整體業(yè)務(wù)處理性能。可以實(shí)現(xiàn)兩端數(shù)據(jù)的同時(shí)寫(xiě)入。CDP由于是操作系統(tǒng)及實(shí)現(xiàn)數(shù)據(jù)同步,因此不能實(shí)現(xiàn)數(shù)據(jù)庫(kù)的雙活,兩個(gè)數(shù)據(jù)庫(kù)的狀態(tài)只能實(shí)現(xiàn)單活的狀態(tài)。
切換的時(shí)效性
Data Guard在主備切換時(shí)需要改變數(shù)據(jù)庫(kù)的狀態(tài)才能使備用數(shù)據(jù)庫(kù)達(dá)到可讀寫(xiě)狀態(tài),Oracle GoldenGate在情況發(fā)生時(shí),可以立即實(shí)現(xiàn)服務(wù)器的切換。CDP需要改變整個(gè)系統(tǒng)的狀態(tài)才能將備用系統(tǒng)達(dá)到可用。
對(duì)異構(gòu)數(shù)據(jù)庫(kù)的支持
Data Guard通過(guò)物理和邏輯的方式在備用機(jī)上還原數(shù)據(jù)庫(kù)的日志,因此不支持異構(gòu)數(shù)據(jù)庫(kù),也不支持異構(gòu)的操作系統(tǒng);GoldenGate通過(guò)分析主數(shù)據(jù)庫(kù)的日志來(lái)完成tail文件,因此支持異構(gòu)數(shù)據(jù)庫(kù),也支持異構(gòu)的操作系統(tǒng)。CDP是通過(guò)操作系統(tǒng)層面完成數(shù)據(jù)同步的,因此不支持異構(gòu)數(shù)據(jù)庫(kù),更不支持異構(gòu)的操作系統(tǒng)。
系統(tǒng)資源的占用
Data Guard在完成數(shù)據(jù)同步過(guò)程中需要占用數(shù)據(jù)庫(kù)的一部份資源比如LGWR、ARCN和Net manger進(jìn)程或服務(wù)等,對(duì)數(shù)據(jù)庫(kù)有較大的影響,使數(shù)據(jù)庫(kù)性能下降。GoldenGate和CDP是動(dòng)態(tài)監(jiān)控方式,對(duì)資源的消耗相對(duì)較少。
歸檔方式支持
Data Guard和GoldenGate都是通過(guò)日志來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的數(shù)據(jù)同步,因此必須要求Oracle數(shù)據(jù)庫(kù)處在歸檔狀態(tài)。而CDP因?yàn)槠涞膶?shí)現(xiàn)方式,就沒(méi)有這樣的需求。
結(jié)語(yǔ)
在構(gòu)建實(shí)際的災(zāi)備系統(tǒng)過(guò)程中,還需要實(shí)際情況,比如Oracle GoldenGate雖然支持雙向復(fù)制,但如果鏈路因?yàn)榫W(wǎng)絡(luò)中斷發(fā)生問(wèn)題,一旦網(wǎng)絡(luò)恢復(fù),故障發(fā)生后導(dǎo)致的主備庫(kù)的數(shù)據(jù)差異如何處理,這些都不是數(shù)據(jù)庫(kù)能完成的工作。因此在實(shí)際的方案選擇上,還是要根據(jù)實(shí)際情況以及用戶(hù)的需求來(lái)完善Oracle的災(zāi)備方案,這樣才能做到有的放矢。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴(lài)品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:Oracle數(shù)據(jù)庫(kù)容災(zāi)備份技術(shù)探討
本文網(wǎng)址:http://m.hanmeixuan.com/html/consultation/1083953536.html