• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Oracle?Data Guard與GoldenGate技術(shù)分析對比

      2023-04-29 23:48:10魏萬瓊趙旭王亦然
      信息系統(tǒng)工程 2023年1期
      關(guān)鍵詞:容災(zāi)快照可用性

      魏萬瓊 趙旭 王亦然

      摘要:隨著財務(wù)系統(tǒng)數(shù)據(jù)庫的使用時間增長,數(shù)據(jù)庫中的數(shù)據(jù)量也會增加,數(shù)據(jù)量越大也意味著數(shù)據(jù)庫備份與恢復(fù)所需要的成本就越高,不僅是備份所需時間越來越長,恢復(fù)數(shù)據(jù)所需時間也隨之增長;當(dāng)數(shù)據(jù)庫發(fā)生意外而導(dǎo)致數(shù)據(jù)庫中的數(shù)據(jù)不可修復(fù)的時候,容災(zāi)遠(yuǎn)比備份更能快速有效的恢復(fù)生產(chǎn)業(yè)務(wù)的數(shù)據(jù);在實際的使用過程中,我們也可以把容災(zāi)當(dāng)做是一個活動的備份來使用,主要介紹了Oracle Data Guard和GoldenGate。

      關(guān)鍵詞:Oracle Data Guard;GoldenGate;Redo Log;Archive Log;Standby Redo Log

      一、前言

      財務(wù)系統(tǒng)作為企業(yè)關(guān)鍵信息系統(tǒng),財務(wù)數(shù)據(jù)的保護(hù)顯得尤為重要。Data Guard和GoldenGate都是數(shù)據(jù)庫的容災(zāi)工具,我們在做容災(zāi)工具選型時,使用哪一個容災(zāi)工具更好,就需要清楚Data Guard和GoldenGate的工作方式,從需求去思考選擇哪一款容災(zāi)工具更適合業(yè)務(wù)架構(gòu)。

      二、日志文件

      Oracle Data Guard和GoldenGate實現(xiàn)數(shù)據(jù)同步都與數(shù)據(jù)庫的日志文件密不可分,因此要先了解Redo Log和Archive Log,明白他們是如何使數(shù)據(jù)同步的,才能做出合適的選擇。

      (一) Redo Log

      Redo Log也稱為重做日志或者聯(lián)機(jī)重做日志,重做日志由兩個或多個重做日志文件組成,這些文件存儲了數(shù)據(jù)庫運行期間的所有操作,記錄了數(shù)據(jù)庫更新信息,每個Oracle數(shù)據(jù)庫實例都有一個正在處于使用中的重做日志,也是數(shù)據(jù)庫數(shù)據(jù)恢復(fù)的關(guān)鍵,更能在數(shù)據(jù)庫實例發(fā)生故障時保護(hù)數(shù)據(jù)。

      (二) Archive Log

      Archive Log也可以稱為歸檔日志或者歸檔重做日志,官方解釋是將已經(jīng)寫滿的重做日志保存到一個或多個離線日志文件,統(tǒng)稱為歸檔日志,相當(dāng)于重做日志文件的一個離線備份。只有數(shù)據(jù)庫處于歸檔模式下才會產(chǎn)生歸檔日志文件,歸檔日志的主要價值是數(shù)據(jù)庫恢復(fù)[1]。

      “圖1 重做日志與歸檔日志實際參考”中顯示了重做日志文件的SEQUENCE對應(yīng)了當(dāng)前已經(jīng)歸檔的文件編號,v$log視圖中SEQUENCE的9、10都已經(jīng)歸檔并可以查看到,11代表著重做日志正在記錄當(dāng)前數(shù)據(jù)庫所有更改操作。

      “圖2日志歸檔后的實際參考”,說明當(dāng)一個重做日志已經(jīng)被寫滿或者手動切換日志后,都會生產(chǎn)一個歸檔日志。

      (三) Standby Redo Log

      備用重做日志用于Data Guard中,備用重做日志相當(dāng)于重做日志的一個在線備份,在Data Guard最高性能模式中推薦使用備用重做日志。官方建議,創(chuàng)建的備用重做日志組最好比重做日志組多一組,這樣備份數(shù)據(jù)庫始終有一個日志處于ACTIVE狀態(tài)。

      三、Data Guard

      (一) Data Guard簡介

      Oracle Data Guard是當(dāng)前Oracle數(shù)據(jù)庫容災(zāi)最有效的解決方案,用于保護(hù)數(shù)據(jù)庫的高可用性、數(shù)據(jù)保護(hù)和災(zāi)難恢復(fù)。提供了一整套服務(wù),來用于創(chuàng)建、維護(hù)、管理和監(jiān)控一個或多個備用數(shù)據(jù)庫。它將這些備用數(shù)據(jù)庫作為主數(shù)據(jù)庫的副本進(jìn)行維護(hù),防止主數(shù)據(jù)庫的數(shù)據(jù)損壞。如果主數(shù)據(jù)庫不可用,它就可以將任何一個備用數(shù)據(jù)庫切換為主數(shù)據(jù)庫,最大限度地減少停機(jī)時間;Data Guard一旦創(chuàng)建便會自動維護(hù)每個備用數(shù)據(jù)庫。

      (二) Data Guard備用數(shù)據(jù)庫的三種類型

      1. 物理備用數(shù)據(jù)庫

      物理備用數(shù)據(jù)庫(Physical standby database),提供物理結(jié)構(gòu)上與主數(shù)據(jù)庫相同的備用數(shù)據(jù)庫,相當(dāng)于主數(shù)據(jù)庫的副本或者是一個主數(shù)據(jù)庫的克隆,與主數(shù)據(jù)保持完全相同。物理備用數(shù)據(jù)庫通過重做日志應(yīng)用技術(shù)與主數(shù)據(jù)保持一致,重做日志應(yīng)用技術(shù)將從主數(shù)據(jù)庫接收到的重做日志數(shù)據(jù)應(yīng)用到物理備用數(shù)據(jù)庫中。

      物理備用數(shù)據(jù)庫在“READ ONLY”和“MOUNTED”狀態(tài)時都接收和應(yīng)用重做日志的數(shù)據(jù)。

      2. 邏輯備用數(shù)據(jù)庫

      邏輯備用數(shù)據(jù)庫(Logical standby database),與主數(shù)據(jù)庫相同的邏輯數(shù)據(jù)信息。邏輯備庫是通過 SQL的應(yīng)用與主庫保持同步,將從主庫接收到的重做日志里的數(shù)據(jù)內(nèi)容轉(zhuǎn)換為SQL語句,然后在備用數(shù)據(jù)庫上執(zhí)行這些SQL語句[2]。

      使用邏輯備用數(shù)據(jù)庫,還可以接近于不停機(jī)的升級 Oracle 數(shù)據(jù)庫。因此,邏輯備用數(shù)據(jù)庫也可以同時用于數(shù)據(jù)保護(hù)和數(shù)據(jù)庫升級。

      3. 快照備用數(shù)據(jù)庫

      快照備用數(shù)據(jù)庫(Snapshot Standby Database)是完全可以更新數(shù)據(jù)的備用數(shù)據(jù)庫,也就是說快照備用數(shù)據(jù)庫可對外提供讀寫功能。

      快照備用數(shù)據(jù)庫也可以正常從主數(shù)據(jù)庫接收和歸檔重做日志數(shù)據(jù)。與物理或邏輯備用數(shù)據(jù)庫不同的是,在關(guān)閉使用快照備用數(shù)據(jù)庫所做的任何數(shù)據(jù)更新之前,是不會應(yīng)用接收到的重做日志數(shù)據(jù)。直到快照備用數(shù)據(jù)庫轉(zhuǎn)換回物理備用數(shù)據(jù)庫之后,才會應(yīng)用接收到的重做日志數(shù)據(jù)[3]。

      快照備用數(shù)據(jù)庫適用于對主數(shù)據(jù)庫有需求,但又不想在主數(shù)據(jù)庫上發(fā)生任何更改的時候,將物理備用數(shù)據(jù)庫轉(zhuǎn)換為快照備用數(shù)據(jù)庫后,可以臨時將備用數(shù)據(jù)庫當(dāng)主數(shù)據(jù)使用。請注意,由于快照備用數(shù)據(jù)庫接收到的重做數(shù)據(jù)在轉(zhuǎn)換回物理備用之前不會應(yīng)用,因此從主數(shù)據(jù)庫故障中恢復(fù)所需的時間與需要應(yīng)用的重做數(shù)據(jù)量成正比。

      (三) Data Guard三種數(shù)據(jù)保護(hù)模式

      1.最大可用性模式

      在不會損害主數(shù)據(jù)庫的可用性之下提供數(shù)據(jù)保護(hù)。事務(wù)提交后,等數(shù)據(jù)寫入重做日志或歸檔日志,并將日志同步到至少一個備用數(shù)據(jù)庫后才算完成工作。如果主數(shù)據(jù)庫沒有寫入到至少一個備用數(shù)據(jù)庫,這種情況就與最高性能模式一樣來運行,從而保障主數(shù)據(jù)庫的可用性,直到它再次將重做數(shù)據(jù)寫入并同步的備用數(shù)據(jù)庫才能以最大可用性模式運行[4]。

      最大可用性模式可以確保數(shù)據(jù)的零丟失,除非主數(shù)據(jù)庫和備用數(shù)據(jù)庫同時出現(xiàn)故障。

      2.最高性能模式

      也是Data Guard默認(rèn)保護(hù)模式。在不影響主數(shù)據(jù)庫性能的情況下提供數(shù)據(jù)保護(hù)。只要主數(shù)據(jù)庫的事務(wù)正常提交就代表事務(wù)已經(jīng)完成。主數(shù)據(jù)庫的重做日志數(shù)據(jù)也會被寫入一個或多個備用數(shù)據(jù)庫;它允許備用數(shù)據(jù)庫與主數(shù)據(jù)庫的數(shù)據(jù)寫入有時間差,因此主數(shù)據(jù)庫性能不會受到備用數(shù)據(jù)庫的影響。

      最高性能模式提供的數(shù)據(jù)保護(hù)低于最大可用性模式,如果主數(shù)據(jù)庫的事務(wù)及相關(guān)數(shù)據(jù)沒有發(fā)送到備庫,這些事務(wù)數(shù)據(jù)可能會被丟失,不能保證數(shù)據(jù)的零損失。

      3.最大保護(hù)模式

      最大保護(hù)模式可以確保在主數(shù)據(jù)庫發(fā)生故障時不會發(fā)生數(shù)據(jù)丟失。事務(wù)所需數(shù)據(jù)必須在事務(wù)提交之前同步到至少一個備用數(shù)據(jù)庫上的在線重做日志和備用重做日志。為了確保不會發(fā)生數(shù)據(jù)丟失,如果主數(shù)據(jù)庫沒有將數(shù)據(jù)同步到至少一個備用數(shù)據(jù)庫,主數(shù)據(jù)庫將會自動關(guān)閉,不再繼續(xù)處理事務(wù)。

      最大保護(hù)模式雖然可以保證備用數(shù)據(jù)庫零數(shù)據(jù)丟失,但是會影響主數(shù)據(jù)庫的可用性。

      (四) Data Guard的三種服務(wù)介紹

      1.重做傳輸服務(wù)

      控制重做日志數(shù)據(jù)從主數(shù)據(jù)庫到一個或者多個備用數(shù)據(jù)庫的自動傳輸,管理和解決因為網(wǎng)絡(luò)故障導(dǎo)致歸檔重做日志文件中的任何間隙問題,自動檢測備用數(shù)據(jù)庫丟失或者損壞的歸檔重做日志文件,并自動從主數(shù)據(jù)庫或者另一個備用數(shù)據(jù)庫檢索替換歸檔重做日志文件。

      2.申請服務(wù)

      申請重做備用數(shù)據(jù)庫上的數(shù)據(jù)以保持與主數(shù)據(jù)庫的事務(wù)同步。可以從歸檔的重做日志文件中應(yīng)用重做數(shù)據(jù),或者啟用實時應(yīng)用,直接從備用重做日志文件填充它們,而不需要先在備用數(shù)據(jù)庫存檔重做數(shù)據(jù)。

      3.角色轉(zhuǎn)換服務(wù)

      通過數(shù)據(jù)庫切換和故障轉(zhuǎn)移來實現(xiàn)主備之間的角色轉(zhuǎn)換,在主備之間角色切換后,確保數(shù)據(jù)沒有丟失;角色轉(zhuǎn)換一般用于主數(shù)據(jù)庫的計劃維護(hù);故障轉(zhuǎn)移只有在主數(shù)據(jù)庫發(fā)生故障時才會執(zhí)行故障轉(zhuǎn)移,并且故障轉(zhuǎn)移會后,備用數(shù)據(jù)庫直接轉(zhuǎn)換為主數(shù)據(jù)庫。

      四、GoldenGate

      Oracle GoldenGate作為大多數(shù)用戶的關(guān)鍵業(yè)務(wù)系統(tǒng)容災(zāi)、數(shù)據(jù)復(fù)制、數(shù)據(jù)同步的首選解決方案,被Oracle公司歸到中間件產(chǎn)品中。

      它提供了日志的雙向數(shù)據(jù)復(fù)制,甚至將多個主數(shù)據(jù)庫的數(shù)據(jù)都采集操同一個備用數(shù)據(jù)庫,用作數(shù)據(jù)存儲或者數(shù)據(jù)分析??梢詽M足零宕機(jī)時間數(shù)據(jù)庫的升級和遷移,實現(xiàn)亞秒級近實時數(shù)據(jù)的同步。

      GoldenGate的主要進(jìn)程

      1.Manager進(jìn)程

      控制進(jìn)程,負(fù)責(zé)啟動、監(jiān)控和維護(hù)Extract、Pump、Replicate進(jìn)程,創(chuàng)建事件、錯誤和閾值報告等。

      2.Extract進(jìn)程

      Extract運行在主數(shù)據(jù)庫,負(fù)責(zé)從主數(shù)據(jù)庫的重做日志和歸檔日志文件中捕獲DML或者DDL操作的數(shù)據(jù);Extract將捕獲的數(shù)據(jù)變化轉(zhuǎn)換為一種GoldenGate專有格式的文件記錄到Trail文件中,如果數(shù)據(jù)庫某個事物并沒有提交更改,而是執(zhí)行了回滾操作,Extract在寫入Trail文件之前將丟棄該事務(wù)的操作。

      3.Pump進(jìn)程

      Pump進(jìn)程運行在主數(shù)據(jù)庫,負(fù)責(zé)將主數(shù)據(jù)庫的追蹤文件以數(shù)據(jù)塊形式通過TCP/IP協(xié)議發(fā)送到備用數(shù)據(jù)庫,一個備用數(shù)據(jù)庫至少對應(yīng)一個Pump進(jìn)程。

      Replicate進(jìn)程

      Replicate進(jìn)程運行在備用數(shù)據(jù)庫,負(fù)責(zé)讀取Pump進(jìn)程發(fā)送過來的追蹤文件內(nèi)容,并將追蹤文件重構(gòu) DML 或 DDL 操作,然后應(yīng)用到備用數(shù)據(jù)庫中。

      Extract和Replicate內(nèi)部都有checkpoint機(jī)制,周期性檢查記錄讀寫位置,保證進(jìn)程重啟或者系統(tǒng)宕機(jī)后,GoldenGate能夠恢復(fù)到以前狀態(tài),保障數(shù)據(jù)不會有損失[5]。

      五、Data Guard與GoldenGate區(qū)別

      (一)從數(shù)據(jù)同步上分析

      GoldenGate是捕獲重做日志或歸檔日志中的DML語句和DDL語句,然后再到備用數(shù)據(jù)庫執(zhí)行,來實現(xiàn)數(shù)據(jù)同步。這個就與Data Guard的邏輯備用數(shù)據(jù)庫很相似,但是,在都使用Oracle產(chǎn)品的情況下會使用Data Guard的物理備用數(shù)據(jù)庫。

      Data Guard容災(zāi)主要是通過將整個重做日志或歸檔日志文件同步到物理備用數(shù)據(jù)庫,去應(yīng)用歸檔日志文件來實現(xiàn)數(shù)據(jù)同步,物理備用數(shù)據(jù)庫可以實現(xiàn)和主數(shù)據(jù)庫的完全一致。

      GoldenGate有個需要注意的地方,如果要捕獲DDL語句,就需要在主數(shù)據(jù)庫建立一個Oracle全庫級的Trigger來捕捉DDL操作到中間表,Extract去讀取中間表的DDL語句,并與DML語句根據(jù)CSN排序,通過這個方式來實現(xiàn)DDL操作的同步。

      作為災(zāi)備Data Guard的穩(wěn)定性是高于GoldenGate的,如果只是實現(xiàn)容災(zāi)功能,首推Data Guard。

      (二)從備用數(shù)據(jù)庫對外服務(wù)上分析

      GoldenGate的備用數(shù)據(jù)庫處于OPEN WRITE狀態(tài),能夠正常對業(yè)務(wù)系統(tǒng)和用戶提供讀寫功能,但是要實現(xiàn)主備數(shù)據(jù)庫數(shù)據(jù)一致,就需要GoldenGate的雙向復(fù)制功能,主數(shù)據(jù)庫和備用數(shù)據(jù)庫雙向同步數(shù)據(jù),不然就無法保障容災(zāi)功能。

      Data Guard的備用數(shù)據(jù)庫處于MOUNTED或者OPEN WRITE狀態(tài)下都能實現(xiàn)數(shù)據(jù)同步,但備用數(shù)據(jù)庫只有在READ ONLY狀態(tài)時,才能對外提供短時間的查詢服務(wù)。

      (三)從主備切換上分析

      GoldenGate可以實現(xiàn)即時切換。

      Data Guard的主備之間的角色切換。

      當(dāng)出現(xiàn)意外事故,主數(shù)據(jù)庫不可恢復(fù)的情況下,GoldenGate接管時間小于Data Guard,甚至可以實現(xiàn)即時接管。

      (四)從類型與版本選擇上分析

      GoldenGate可以在不同類型、不同版本之間進(jìn)行數(shù)據(jù)庫復(fù)制。

      Data Guard僅運行在Oracle數(shù)據(jù)庫中。

      (五)從運維角度上分析

      Data Guard維護(hù)簡單,一旦配置完成后就很少出現(xiàn)問題。GoldenGate就需要使用它的命令方式來檢查和維護(hù),對管理人員也有更高的技術(shù)要求。

      (六)從配置結(jié)構(gòu)上分析

      GoldenGate可以實現(xiàn)一主一備、一主多備、多主一備、主備之間的雙向復(fù)制等多種結(jié)構(gòu)。Data Guard可以實現(xiàn)一主對一備或者一主對多備的結(jié)構(gòu)。

      六、結(jié)語

      現(xiàn)在數(shù)據(jù)庫中存儲的數(shù)據(jù)越來越多元化,數(shù)據(jù)可用范圍也越來越廣,無論是從商業(yè)價值還是研究價值,數(shù)據(jù)都很重要。那么數(shù)據(jù)的保護(hù)也就越來越重要,容災(zāi)是每個數(shù)據(jù)庫都需要考慮的保護(hù)技術(shù)。

      參考文獻(xiàn)

      [1]戴冠平.叱咤風(fēng)云:GoldenGate企業(yè)級運維實戰(zhàn)[M].清華大學(xué)出版社,2012.

      [2]Database Online Documentation Library 11g Release 2 (11.2)之Data Guard Concepts and Administration

      [3]Database Online Documentation Library 11g Release 2 (11.2)之Data Guard Broker

      [4]Database Online Documentation Library 11g Release 2 (11.2)之Database Administrator's Guide

      [5]GoldenGate Administering Oracle GoldenGate for Windows and UNIX

      (作者單位:魏萬瓊、王亦然,中國石油勘探開發(fā)研究院西北分院計算機(jī)技術(shù)研究所、中國石油天然氣集團(tuán)有限公司物聯(lián)網(wǎng)重點實驗室; 趙旭,中國石油勘探開發(fā)研究院西北分院計劃財務(wù)處)

      猜你喜歡
      容災(zāi)快照可用性
      基于文獻(xiàn)計量學(xué)的界面設(shè)計可用性中外對比研究
      包裝工程(2023年24期)2023-12-27 09:18:26
      EMC存儲快照功能分析
      天津科技(2022年5期)2022-05-31 02:18:08
      基于輻射傳輸模型的GOCI晨昏時段數(shù)據(jù)的可用性分析
      關(guān)于建筑企業(yè)容災(zāi)備份系統(tǒng)方案的探討
      電子制作(2017年10期)2017-04-18 07:22:47
      創(chuàng)建磁盤組備份快照
      基于中興軟交換的電力通信網(wǎng)絡(luò)容災(zāi)系統(tǒng)建設(shè)
      基于數(shù)據(jù)容災(zāi)技術(shù)在企業(yè)信息系統(tǒng)中的應(yīng)用研究
      中國市場(2016年45期)2016-05-17 05:15:38
      數(shù)據(jù)恢復(fù)的快照策略
      空客A320模擬機(jī)FD1+2可用性的討論
      河南科技(2015年7期)2015-03-11 16:23:13
      一張“快照”搞定人體安檢
      微博| 博爱县| 平和县| 景宁| 衡水市| 汶上县| 石屏县| 民权县| 永丰县| 林口县| 宜春市| 泽普县| 怀安县| 东源县| 龙井市| 维西| 彭阳县| 北京市| 泗水县| 宁河县| 屏山县| 西乌| 汉寿县| 旌德县| 旺苍县| 定安县| 漯河市| 贵南县| 新邵县| 湖州市| 龙里县| 临城县| 商南县| 咸阳市| 双辽市| 盐山县| 宁南县| 香河县| 福清市| 防城港市| 右玉县|