1. 程式人生 > >Oracle 11g Dataguard 暫停物理備庫的日誌傳輸

Oracle 11g Dataguard 暫停物理備庫的日誌傳輸

oracle

Oracle 11g Dataguard 暫停物理備庫的日誌傳輸
分類: Oracle2017-07-18 10:03:17
這兩天生產端的日誌產生過多導致災備端的歸檔日誌目錄滿的現象,在清除災備端的日誌後發現log_archive_dest_2處於error狀態,需要將其enable。在實際生產系統中,通常有這樣的場景,例如在系統維護日,對主庫進行大量的業務更新,會有大量的DML操作;為了避免主庫中的業務更新對備庫造成影響,可以暫停主庫對備庫的日誌傳輸,這樣的話,如果主庫的更新出現問題,備庫還保留一份完整的數據鏡像,可以執行 failover(失敗切換)。

1、在主庫上面查看備份的歸檔路徑

SQL> show parameter log_archive_dest_2

NAME TYPE VALUE


log_archive_dest_2 string SERVICE=flame ASYNC VALID_FOR=
(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=flame

SQL> show parameter log_archive_dest_state_2

NAME TYPE VALUE


log_archive_dest_state_2 string ENABLE

2、通過設置 defer 參數來暫停主庫對備庫的日誌傳輸

SQL> alter system set log_archive_dest_state_2 = ‘defer‘;

System altered.

執行歸檔日誌切換

SQL> alter system switch logfile;

System altered.

3、恢復主庫到備份的日誌傳輸,暫停日誌傳輸後的歸檔日誌會全部傳輸到備庫,不會導致備庫的歸檔日誌 gap

SQL> alter system set log_archive_dest_state_2 = ‘enable‘;
System altered.

Oracle 11g Dataguard 暫停物理備庫的日誌傳輸