主庫的日志發送是由log_archive_dest_n參數設置(注意:同時還有一個和它相對應的開關參數log_archive_dest_state_n,用於指定該參數是否有效),下面簡單介紹下該參數各個屬性的含義。
SERVICE(必須):指定備庫的網絡連接名;
SYNC/ASYNC(默認為ASYNC):指定日志的傳輸模式(同步/異步);
NET_TIMEOUT:指定當采用SYNC傳輸模式時,超過多少秒則表示網路超時(默認為30s),在使用SNYC模式時,強烈建議設置改參數;
AFFIRM/NOAFFIRM:AFFIRM表示只有當日志寫入Standby重做日志后才算日志傳輸成功,NOAFFIRM則沒有這個要求;
DB_UNIQUE_NAME:指定備庫的DB_UNIQUE_NAME;
VALID_FOR:格式為(redo_log_type,database_role),只有這兩個條件全部符合,才會發送日志;
其中redo_log_type有如下取值:ONLINE_LOGFILE, STANDBY_LOGFILE, ALL_LOGFILES
database_role有如下取值:PRIMARY_ROLE, STANDBY_ROLE, ALL_ROLES
REOPEN:指定當連接錯誤發生時,多少秒之后重試;
COMPRESSION:指定是否對日志進行壓縮,已提高網絡傳輸性能。
下面是log_archive_dest_n的一個例子:
DB_UNIQUE_NAME=BOSTONLOG_ARCHIVE_CONFIG=\'DG_CONFIG=(BOSTON,CHICAGO,HARTFORD)\' LOG_ARCHIVE_DEST_2=\'SERVICE=CHICAGO ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE) REOPEN=60 COMPRESSION=ENABLE DB_UNIQUE_NAME=CHICAGO\' LOG_ARCHIVE_DEST_STATE_2=\'ENABLE\' LOG_ARCHIVE_DEST_3=\'SERVICE=HARTFORD SYNC AFFIRM NET_TIMEOUT=30 VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) REOPEN=60 COMPRESSION=ENABLE DB_UNIQUE_NAME=HARTFORD\' LOG_ARCHIVE_DEST_STATE_3=\'ENABLE\'