Oracle 11gR2 Active DataGuard配置Step By Step(二)

2014-11-24 17:24:50 · 作者: · 浏览: 1
acle一些nologging操作而言的。Redo Log的责任是记录所有数据块的变化,还原重做redo log意味着数据同步。如果有nologging操作,生成redo log是不完全的,传递到physical standby中还原的也就不完全,难以做到同步。所以,Dataguard一定是将force logging进行配置。


SQL> alter database force logging;


Database altered



SQL> select force_logging from v$database;


FORCE_LOGGING


-------------


YES



下面构建standby log file在主库中。一些文献没有这个步骤,而只关注physical standby端的standby log创建。Standby log file是作为Redo Transfer过程的一个中转。通常而言,当日志被传递到Standby端,就应该立即应用Apply。如果此时没有开启应用过程,是会把日志暂存在这个地方的。对每一个standby,都需要创建一个或者多组standby log group。对于Primary Database,由于可能有role transition的情况,所以也需要进行配置。

注意:Primary Database中使用了OMF,我们可以很方便的进行创建standby log group。



SQL> alter database add standby logfile size 100m;


Database altered



SQL> alter database add standby logfile size 100m;


Database altered



SQL> alter database add standby logfile size 100m;


Database altered



也形成了配置镜像结构。



SQL> select group#, member from v$logfile where type='STANDBY';



GROUP# MEMBER


---------- --------------------------------------------------------------------------------

4 /u01/app/oradata/ORA11G/onlinelog/o1_mf_4_9nn5ntsv_.log


4 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_4_9nn5o0jw_.log


5 /u01/app/oradata/ORA11G/onlinelog/o1_mf_5_9nn5oq6d_.log


5 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_5_9nn5owlv_.log


6 /u01/app/oradata/ORA11G/onlinelog/o1_mf_6_9nn5p82m_.log


6 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_6_9nn5pc70_.log



6 rows selected



视图v$standby_log,可以查看日志使用情况。



SQL> select group#, dbid, bytes from v$standby_log;



GROUP# DBID BYTES


---------- ---------------------------------------- ----------


4 UNASSIGNED 104857600


5 UNASSIGNED 104857600


6 UNASSIGNED 104857600



最后进行主库参数修改,具体来说需要修改六个参数。



参数log_archive_config用于指定环境中DG范围。



SQL> show parameter log_archive_config



NAME TYPE VALUE


------------------------------------ ----------- ------------------------------


log_archive_config string



SQL> alter system set log_archive_config='DG_CONFIG=(ora11g,ora11gsy)' scope=spfile;


System altered



要添加归档日志传输位置,archive_dest参数包括两种类型位置,location和service。Location参数表示本地目录归档日志存放,而service表示通过Oracle NET服务传输过去。要实现Dataguard组件,需要将日志指定到service里面。


SQL> alter system set log_archive_dest_2='SERVICE=ora11gsy valid_for=(online_logfiles,primary_role) db_unique_name=ora11gsy' scope=spfile;

System altered



SQL> alter system set log_archive_dest_state_2=enable;


System altered



注意:valid_for参数表示这个传递通道在什么时候发挥作用。Online_logfiles和Primary_role表示当前实例为Primary角色的时候,才传递日志。这样的配置是最常用的方式。

Name convert参数配置,对日志文件和数据库文件而言,目录是一个重要标识项目。Primary和Standby在转换过程中,要确立变换替换规则,这个过程需要进行实际的研究。


SQL> alter system set db_file_name_convert='ORA11G','ORA11GSY' scope=spfile;


System altered



SQL> alter system set log_file_name_convert='ORA11G','ORA11GSY' scope=spfile;


System altered



注意:在一些资料中,介绍11g里如果采用了OMF策略,这个参数是可以不设置的。


最后参数是standby_file_management策略,默认是manual。该参数用于控制Primary与Standby之间文件创建的方式。标准的DG环境下,在Primary DB下添加数据文件,会自动在Standby中增加文件。



SQL> show parameter standby_file_management



NAME TYPE VALUE


------------------------------------ ----------- ------------------------------


stand