Dataguard的Log Gap檢測和處理原理

來源:互聯網
上載者:User

author:skate

time:2011/09/05

 

 

Dataguard的Log Gap檢測和處理原理

 

  提到dataguard的Gap處理機制,大多數人能說出的措施便是設定fal_server和fal_client,從9i開始,
Oracle提供了2種log gap的檢測和處理機制。對於gap的處理,fal_*參數在某些情況下並不是必須配置的。
   1.Automatic Gap Resolution
   2.FAL Gap Resolution

 

1.Automatic Gap Resolution
    從9i開始,Dataguard就引入了自動日誌缺失檢測的機制,無需設定任何fal_*參數,Datguard便運行在這種機制下。
當Lgwr和Arch進程發送redo/archive到standby端的時候,當前log sequence會同standby端RFS進程上次接收到的log sequence做比較,如果發現二者有斷檔,RFS會發送請求到primary端,要求主庫傳送缺失的日誌。從9iR2開始,Automatic gap resolution 功能上得到增強。主庫上的ARCH進程會每分鐘檢查備庫上的日誌gap情況並做相應處理。 

2.FAL Gap Resolution
    FAL是Fetch Archive Log的縮寫,通過配置FALserver和FALclient實現Gap檢測的一種機制。當備端的RFS進程收到
archivelog的時候,更新standby的控制檔案以記錄這些歸檔資訊,一旦MRP發現控制檔案被更新,會進行Recover/Apply log。如果MRP發現所需的日誌出現缺失或者所需的記錄檔不可用(損壞或者被物理移除等),會通過FAL來發送相應的處理請求。MRP是standby端的恢複進程,不像RFS進程一樣與parimary有直接關聯,通過FAL的參數配置來主動請求primary處理gap。

 

FAL_Server和fal_client是standby端的參數配置,考慮到switchover的平滑性,可考慮在primary 端也做預先設定。
FAL_SERVER: 指向primary端的Oracle Net service
FAL_CLIENTL: 指向standby端的Oracle Net service   

  

在9iR2以上版本中,Oracle首先嘗試使用FAL Gap Resolution 進行GAP處理,當發現FAL機制並沒有配置生效的時候,
進而嘗試使用Automatic Gap Resolution進行處理。

 

   對於一些cascade dataguard架構,FAL Gap Resolution是更好的gap處理方式。另外,Automatic gap resolution
在某些版本的dg環境下存在bug(比如bug 5929647等),需要不得不配置FAL參數。

 

 

----------------------end----------------------

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.