如何针对物理DataGuard设置延时日志应用?

2014-11-24 18:48:15 · 作者: · 浏览: 0

如果只指定了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


更多的信息,请参考官方文档:
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