程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle]Data Guard 之 Redo傳輸詳解

Oracle]Data Guard 之 Redo傳輸詳解

編輯:關於Oracle數據庫

    Data Guard主要提供兩個服務:
    1)Redo傳輸服務:即把Primay端的Redo日志傳輸到一個或多個Standby目的地。
    2)Redo應用服務:即在Standby端應用從Primay端傳輸過來的Redo日志。
    本文先講講其中的Redo傳輸服務。

    1、使用ARCn傳輸Redo日志
    默認情況下采用ARCn傳輸redo日志,不過只有在最高性能模式下才可以使用ARCn(具體可參考Oracle] Data Guard 之 三種保護模式介紹 》),采用ARCH傳輸Redo日志的示意圖如下:

    其大致過程如下:
    1)Primay段ARC0一旦完成日志切換,ARC1就將新生成的歸檔日志傳輸到Standby端;
    2)Standby 端由RFS進程接受日志,如果配置了standby redo log,記錄至standby redo log,等standby redo log做log switch形成歸檔日志,再應用歸檔日志做恢復;如果沒有配置standby redo log,RFS進程接收到日志後,放到standby端歸檔目錄下,standby再應用歸檔日志做恢復。

    2、使用LGWR傳輸Redo日志
    使用LGWR進程和ARCn有很大的不一樣,最明顯的區別是它不需要等Primary完成日志切換後再傳輸,其示意圖如下:

    其過程大致如下:

    1)一旦Primary有Redo日志產生,LGWR將觸發LNSn進程傳輸Redo只Standby redo log;注意:這裡不能由LGWR直接傳輸,因為整個數據庫實例只有一個LGWR,為了保證它的主要性能不受影響,不能由它直接傳輸)

    2)網絡傳輸模式可以選擇sync或async,sync是指當Primary提交時, 必須得等Redo傳輸至Standby成功後,才能返回。所以如果設置sync,建議同時設置NET_TIMEOUT參數,超時無響應,則返回錯誤。 async是指Primary提交是否成功和日志是否傳輸成功沒有關系,這樣對Primary的性能影響最小。

    3)Standby端的RFS進程把Redo寫入Standby redo log,如果開啟了實時應用,就將redo應用至Standby數據庫,如果沒有開啟實時應用,等Standby redo log歸檔後再應用到Standby數據庫。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved