Oracle數據庫實時備份技術

 
  1前言
浪擎·鏡像系統是業界成熟的應用系統實時備份容災解決方案,無需源和目標硬件規格或配置相同,具備準實時複製、系統和網絡資源佔用少、應用方式靈活等特色。
鏡像系統的Oracle鏡像經過數據庫邏輯層的複製技術,能夠方便地實現Oracle數據庫的實時備份容災,嚴格保障事務的一致性和完整性,在實時備份、本地和異地容災領域具備很是大的優點。目標數據庫系統處於運行狀態,無需進行恢復提升容災切換能力。

2實時備份容災原理

2.1Oracle事務日誌架構

Oracle 經過事務日誌記錄全部事務和每一個事務對數據庫所作的修改。其中記錄了對數據庫中的每個變化日誌包含的數據有已修改數據的前像(undo)和後像(redo)兩種類型。前像是操做執行前的數據複本;後像是操做執行後的數據複本。
Oracle 使用預寫日誌技術。預寫日誌確保在相關的日誌記錄以後纔將數據修改寫入磁盤。在將任何數據寫入數據文件以前,都必須保證該數據對應的日誌已經寫入到日誌文件中, 一個事務提交的時候,必須保證該事務中產生的全部日誌記錄都已經寫入到日誌文件中。
日誌文件是按順序寫入的文件,塊大小通常爲字節512字節,日誌文件有一個文件頭信息。緊隨文件頭以後,是按照順序寫入的一個個重作記錄
    重作記錄(Redo Record)一般由redo record header信息和一組改變向量組成,是一個改變向量的集合,表明一個數據庫的變動(INSERT、UPDATE、DELETE等操做),構成數據庫變動的最小恢復單位。例如,一個Update的重作記錄包括相應的回滾段的改變向量和相應的數據塊的改變向量等。改變向量(Change Vector)表示對數據庫內某一個數據塊所作的一次變動。改變向量中包含了變動的數據塊的版本號、事務操做代碼、變動從屬數據塊的地址(DBA)以及更新後的數據。
基於上述事務日誌架構,Oracle數據庫鏡像經過實時分析日誌文件塊,並解析還原成數據庫記錄,再執行到目標數據庫,便可實現Oracle數據庫實時備份容災。

2.2鏡像引擎架構

Oracle 數據庫鏡像引擎包括代理、鏡像服務器兩大部件。代理包含事務日誌捕獲器、事務日誌分析器、自適應數據字典、初步過濾器、傳輸控制器和任務隊列等;鏡像服務器包含接收隊列、事務隊列和Snapshot存儲、SQL應用機構等。

2.3複製流程

事務日誌實時捕獲器實時監控源Oracle Redo Log事務日誌文件和捕獲其變化數據;事務日誌分析器經過數據字典將日誌數據解析還原成數據庫記錄,並過濾不須要鏡像的用戶、表或其餘數據庫對象;傳輸控制器從任務隊列中取出記錄數據傳輸至鏡像服務器。鏡像服務器接收隊列將記錄數據保存至事務隊列和Snapshot文件中;SQL應用機構掃描事務隊列,將提交事務應用到目標Oracle

2.4實時事務捕捉及解析

Oracle 鏡像中由捕獲進程來收集發生變化的數據,此進程的獨特之處在於它幾乎不對生產數據庫帶來任何開銷。
此捕獲過程當中完成的操做爲:捕獲進程從Oracle redo log中讀取信息,所以複製過程不會給生產數據庫實例帶來性能問題。只有發生改變的數據被傳輸,而不是Redo Log中的所有信息,所以鏡像的網絡負載很是小,源數據庫不須要參與到數據捕獲和傳輸過程當中
浪擎鏡像代理的捕獲進程不但能夠讀取在線的Redo Log,並且能夠讀取Archive Log。這種能力極大地加強了系統的冗餘功能。例如,若是捕獲進程因爲某種緣由被中止,在線日誌來不及分析就被覆蓋,當它從新啓動後能夠從歸檔日誌中分析,數據同步不會受到影響,
捕獲進程駐留在源系統上,自動讀取Oracle的在線Redo Log。這種讀操做是從操做系統的角度來完成的,而不是經過數據庫。經過將Redo Log做爲獲取變化信息的源泉,能夠完成數據的複製而不會給生產系統帶來額外的開銷。因爲Oracle使用Redo Log進行系統恢復,所以Redo Log信息足夠,其數據格式也足夠穩定。
捕獲進程連續監控Redo Log用以捕捉變化信息。當Redo Log中出現一條新記錄時,事務日誌分析器判斷其是否屬於被複制對象,若是是,則爲該條記錄加入存儲隊列,存儲隊列存在於數據庫進程以外。發生改變的數據被當即處理並被髮送到目標系統中而不等待提交或回滾動做的完成,由於等待提交或回滾完成將帶來延遲。當提交或回滾信息被寫入Redo Log時,它們也將被髮送到目標系統中,從而在目標系統中完成相對應的操做。
事務日誌分析器根據數據字典依次解析日誌文件塊,獲取該記錄的操做類型、涉及對象等,忽略不在數據字典中的對象並放棄該日誌記錄的後續解析。
DDL語言更改了數據庫結構時,事務日誌分析器將通知數據字典使其動態調整對象結構。所以數據字典具有自適應能力,無需從新啓動便可解析後續日誌文件塊。

2.5傳輸控制

鏡像系統的傳輸協議基於TCP/IP實現。傳輸控制器記錄當前傳輸成功的事務點。當鏈接中斷等因素致使傳輸失敗,傳輸控制則中止傳輸工做,嘗試鏈接直至成功。
鏡像系統可建立多個通道進行並行傳輸,提升傳輸效率。

2.6應用數據

鏡像系統將客戶端傳送到信息轉化爲SQL語句,並按照在源數據庫中的Commit順序發送給目標Oracle數據庫執行。

3技術特性

1)目標數據庫狀態
目標Oracle數據庫處於運行狀態,能讀能寫,運行的目標系統保證了系統的一致性。
2)兩階段檢查(2PC
在傳輸階段和數據庫記錄提交階段均設置成功檢查點。兩階段檢查可防止如網絡鏈接斷開、目標數據庫沒有運行、進程崩潰等意外因素髮生形成的事務丟失。
3 )特性列表
說明
複製原理
捕獲Oracle的增量事務進行復制
複製粒度
數據庫記錄
複製DDL語言
複製數據庫定義語言,如:
1)      增長、刪除、修改表
2)      增長、刪除、修改字段定義
3)      增長、刪除、修改觸發器、存儲過程
複製DML語言
複製應用程序提交的數據
保存事務日誌
系統保存捕獲的事務日誌
源與目標硬件規格要求
無需一致
網絡帶寬佔用
遠小於存儲層複製
複製時延
異步複製,秒級延時
複製最大距離
無限制
對系統性能的影響
源系統CPU佔用率不超過5%
支持應用方式
一對1、一對多、多對一
事務完整性
完整、一致
目標應用系統狀態
運行狀態,能讀能寫
複製方向
單向,從源至目標
支持過濾
可設置過濾條件
支持版本
Oracle 8i/9i
支持操做系統
Windows LinuxAIXSolarisHPUX
不支持字段
用戶自定義字段類型
Archive Log 配置
無需開啓Archive Log
 
4)其餘功能
定時鏡像計劃,定時鏡像計劃,系統還提供便捷的定時鏡像計劃。鏡像計劃做業可配置信息字段:開始時間、結束時間和日期以及在這段時間以內的鏡像頻率、須要鏡像表。定時鏡像計劃經過exp/imp實現。
數據庫備份存儲,鏡像系統可將基準裝載或定時鏡像計劃使用的數據庫備份保存在磁盤上;系統採用時間戳命名備份文件。用戶可調節保存的備份版本數量或時間;用戶可手工經過imp命令裝載定時鏡像的數據。
基於Web的任務和狀態監控,鏡像系統提供基於WEB的監控、管理平臺,用戶能夠經過瀏覽器便可管理全網的鏡像代理、鏡像服務器、傳輸備份策略以及任務監控。
鏡像任務監控是鏡像系統的一個組成部分,用來實時的監控信息包括:
ü 從主(源)服務器到備(目標)服務器數據複製的結果;
ü 鏡像客戶端和鏡像服務器的工做狀態。
相關文章
相關標籤/搜索