Dataguard的Log Gap檢測和處理原理

2021-05-27 23:37:13 字數 1114 閱讀 3986

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情況並做相應處理。 

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----------------------

dataguard引數的解釋

1.db name,資料庫 名字,需要保持同乙個data guard 中所有資料庫db name相同 primary端和 standby 端相同 db name ora10g db name ora10g 2.db unique name,對應資料庫的例項名,每乙個資料庫需要指定乙個唯一的名字 pr...

DataGuard相關引數

db unique name 定義資料庫唯一名稱,因為db name引數對於物理資料庫是必須相同,對於邏輯資料庫必須不同,所以在oracle 10g中引入db unique name引數來確定dataguard配置中的每個資料庫,如果未定義該引數,預設使用db name引數值。log archive...

Data Guard 啟動順序

注意data guard 啟動順序 啟動順序 先standby 後primary 關閉順序 先primary 後standby 在備庫將例項啟動到 mount 狀態 sql startup nomount sql alter database mount standby database sql a...