ORACLE DATAGUARD傳輸原理

2021-08-02 15:06:03 字數 1220 閱讀 1040

oracle dataguard(簡稱dg)有兩種傳輸模式:async(非同步)和sync(同步),在介紹這兩種傳輸模式前,說一下dg的重做傳輸程序架構。

何為同步傳輸模式呢?顧名思義同步含有實時確認的意思。見如下圖:

在最高可用性中,如果主庫收不到備庫應用的確認訊息,那麼會通過net_timeout值超時,繼續完成本次操作,那麼lns程序將不會在獲得sga中的重做資料,只有當下次日誌switch的時候才主動去嘗試獲得lns資料,如果期間還是沒有和備庫完成通訊,當超過net_timeout引數的時候會繼續停止,主機事務也繼續完成,但當存在於最大保護模式下,那麼必須等到備庫應用redo的確認訊息,那麼就會停止資料庫的執行操作。

何為非同步傳輸模式呢?

非同步傳輸模式就是指主庫不必要等待備庫應用redo的確認訊息,就會完成提交工作(見下圖),但是增加了資料丟失的風險性。

另外如果主庫和備庫因某種原因,導致lns程序無法傳送資料到備庫又會發生什麼呢?

這種情況下叫傳輸滯後。

當資料庫執行最高可用性下,當主庫無法與備庫進行通訊,那麼主庫依然可以完成事務的提交,lgwr依然可以寫入online redo日誌,在沒法通訊期間主庫可能會產生很多歸檔日誌,那麼oracle為了在備庫和主庫能夠再次通訊應用redo日誌的情況,會進行自動處理間隔操作。具體就是主庫arch程序會不停ping備庫,當和備庫通訊連線後,那麼arch程序通過備庫的rfs程序獲得備庫控制檔案中最後應用的歸檔日誌資訊,將丟失的歸檔日誌通過arch程序傳送與備庫進行應用。當在主庫進行redo 日誌切換的時候,lns程序會再次和備庫的rfs程序通訊繼續完成redo條目的傳送,arch傳送的歸檔日誌在後台進行應用。當備庫和主庫redo條目同步後arch的任務隨即完成。

Oracle Data Guard 環境配置

data guard環境應配置的初始化引數 db name 同乙個data guard中所有資料庫db name相同 db unique name 為每乙個資料庫制定乙個唯一的名稱 log archive config 用來控制從遠端資料庫接收或傳送redo資料。log archive dest n...

Oracle Data Guard配置手記

經過多次實踐,參閱網上n多文章 最後還是配不成,可能本人悟性太低,無法體會高手的筆記。最終還是在前輩的幫助下完成。特用最平實的手法記錄下來,以便如吾輩菜鳥能看得懂。執行data guard的條件 1 在主庫和從庫的所有機器上必須安裝同乙個版本的oracle企業版。2 主庫必須執行在歸檔模式下。3 主...

Oracle DataGuard資料備份方案詳解

oracle dataguard是一種資料庫級別的ha方案,最主要功能是冗災 資料保護 故障恢復等。在生產資料庫的 事務一致性 時,使用生產庫的物理全備份 或物理copy 建立備庫,備庫會通過生產庫傳輸過來的歸檔日誌 或重做條目 自動維護備用資料庫。將重做資料應用到備用庫。本文介紹使用rman備份建...