1. 程式人生 > >如何針對物理DataGuard設定延時日誌應用?

如何針對物理DataGuard設定延時日誌應用?

   為了設定延時Apply,需要在log_archive_dest_n 引數上使用“DELAY=",比如:DELAY=360(單位為分鐘),表示延時360分鐘(6小時)。比如:
SQL〉alter system set log_archive_dest_2='SERVICE=standby LGWR SYNC AFFIRM DELAY=360 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) COMPRESSION=ENABLE  DB_UNIQUE_NAME=standby';

   如果只指定了DELAY引數,但是沒有指定具體的值,預設是30分鐘。

   需要注意的是,如果已經啟用了實時日誌應用(real-time apply ),DELAY這個引數會被忽略,因此不會啟用延時日誌應用,同時,在備庫的alert log中您可以看到類似下面的資訊:
WARNING: Managed Standby Recovery started with USING CURRENT LOGFILE
DELAY 360 minutes specified at primary ignored <<<<<<<<<

   這種情況下,需要停止實時日誌應用,按照非實時模式啟動MRP,比如:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

請參考下面的具體的例子:
1. 檢視主庫的引數設定:
SQL> show parameter log_archive_dest_2

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2                   string      SERVICE=STANDBY LGWR SYNC AFFI
                                                RM VALID_FOR=(ONLINE_LOGFILES,
                                                PRIMARY_ROLE) DB_UNIQUE_NAME=S
                                                TANDBY

2. 在主庫設定延時5分鐘:
SQL> alter system set log_archive_dest_2='SERVICE=STANDBY LGWR SYNC AFFIRM delay=5 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=STANDBY';

3. 驗證是否延時:

主庫執行:
SQL> alter system switch logfile;
System altered.

SQL>  select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)
--------------
           28

備庫:
Wed Jun 13 19:48:53 2012
Archived Log entry 14 added for thread 1 sequence 28 ID 0x4c9d8928 dest 1:
ARCb: Archive log thread 1 sequence 28 available in 5 minute(s)
Wed Jun 13 19:48:54 2012
Media Recovery Delayed for 5 minute(s) (thread 1 sequence 28) <<<<<<<<延時生效
Wed Jun 13 19:53:54 2012
Media Recovery Log /home/Oracle/arch1/standby/1_28_757620395.arc<<<<<5分鐘後才應用這個歸檔
Media Recovery Waiting for thread 1 sequence 29 (in transit)

更多的資訊,請參考官方文件:
http://docs.oracle.com/cd/E11882_01/server.112/e25608/log_apply.htm
Oracle® Data Guard Concepts and Administration
11g Release 2 (11.2)
Part Number E25608-03