天天看點

【DataGuard】10GR 日志傳輸服務參數

日志的傳輸以及應用可以算作是Dataguard的核心所在.在我們搭建DG的過程中,如何配置優化日志傳輸服務,關系到整個DG體系的性能以及可用性.而且,不同的保護模式也需要不用的參數組合.10g下,影響配置日志傳輸的參數主要有以下幾個:

1. ARCH/LGWR

設定日志的傳送模式,預設使用arch傳送.傳送發生在日志切換邊沿,最大可用和最大保護模式下,需要使用lgwr來傳送日志.使用lgwr傳送日志,需要備庫建立standby logfile,并且支援日志的實時應用.

2. SYNC /ASYNC

該參數表示網絡I/O的操作方式, SYNC表示網絡I/O将與重做日志的寫入同步進行,等待網絡i/o完成收到響應後繼續下一個寫操作.而ASYNC表示日志的傳送是異步的,oracle利于LNS程序,接收lgwr發送過來的重做日志資訊放入緩沖區,并異步傳送到備機,也可以手動指定緩沖區的大小

最大保護和最大可用模式下,需要設定為SYNC AFFIM模式.

3. AFFIM/NOAFFIRM

該參數是LGWR傳送模式下的一個屬性,表示重做日志的磁盤I/O模式, AFFIM表示同步并且發送成功寫操作狀态到主資料庫, NOAFFIRM表示主庫無需等待備庫的日志寫成功.

一般來說, SYNC AFFIM 與ASYNC NOAFFIRM是最常用合理的組合方式.

4. MANDATORY /OPTIONAL

該參數表示歸檔的模式,預設值為OPTIONAL. MANDATORY表示強制歸檔,如果歸檔不成功會引起主庫的歸檔等待.

5. REOPEN/NOREOPEN

該參數表示歸檔檔案收到錯誤資訊後,是否重試以及重試的最小間隔時間.

6. MAX_FAILURE/ NOMAX_FAILUR

該參數表示由于故障而被關閉的目标檔案的最大重試次數.超過設定次數,将不再重試.

NOMAX_FAILUR表示不斷重試

7. NET_TIMEOUT

該參數表示在網絡出現異常或者某些情況下,主資料庫的LNS程序放棄網絡連接配接之前的最大等待時間.

8. DELAY/NODELAY

該參數表示日志的應用模式,delay表示延時指定時間應用傳送過來的日志,nodelay表示不延時.

該參數作用也可以通過釋出alter database recover managed standby database delay ** 來實作.

9. VALID_FOR

VALID_FOR的引入,為了更好的實作主備平滑切換,用于說明目标檔案何時可用以及歸檔的重做日志類型.

VALID_FOR屬性由2部分組成:archive_source(online_logfile,standby_logfile,all_logfiles)和database_role(primary_role,standby_role,all_role).

online_logfile: 表示歸檔聯機重做日志

standby_logfile:表示歸檔備用資料庫的重做日志/接受的重做日志

all_logfiles: online_logfile && standby_logfile

primary_role: 僅當資料庫角色為主庫時候歸檔生效

standby_role: 僅當資料庫角色為備庫時候歸檔生效

all_role: 任意角色歸檔均生效

例如:

SQL> show parameter log_archive_dest_1 log_archive_dest_2 NAME TYPE VALUE ———————————— ———– —————————— log_archive_dest_1 string location=E:\Oracle\archive\demo VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=demo log_archive_dest_2 string SERVICE=test_standby VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby1

在主庫上,歸檔聯機日志到本地磁盤,并傳送到備庫, 在備庫上,同時歸檔日志到本地磁盤.同理,備庫上也做相應配置,這樣可以在不修改參數的前提下盡可能實作平滑switchover.