Oracle Data Guard Physical Standby 相关说明(二)

2014-11-24 18:25:57 · 作者: · 浏览: 1
y Redologs组(注意组号不要与当前存在的Online Redologs组重复),并为该组指定一个成员:


SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo04.log') size 50M;


SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/u01/app/oracle/oradata/orcl/redo05.log') size 50M;


SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/u01/app/oracle/oradata/orcl/redo06.log') size 50M;


SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/u01/app/oracle/oradata/orcl/redo07.log') size 50M;




删除Standby Redologs组也同样简单:


SQL> ALTER DATABASE DROP STANDBY LOGFILE GROUP 4;



可以通过动态性能视图V$LOGFILE查看当前数据库中创建的Standby Redologs,例如:


SQL> SELECT GROUP#,TYPE,MEMBER FROM V$LOGFILE;


GROUP# TYPE MEMBER


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


3 ONLINE /u01/app/oracle/oradata/orcl/redo03.log


2 ONLINE /u01/app/oracle/oradata/orcl/redo02.log


1 ONLINE /u01/app/oracle/oradata/orcl/redo01.log


4 STANDBY /u01/app/oracle/oradata/orcl/redo04.log


5 STANDBY /u01/app/oracle/oradata/orcl/redo05.log


6 STANDBY /u01/app/oracle/oradata/orcl/redo06.log


7 STANDBY /u01/app/oracle/oradata/orcl/redo07.log



提示通过该视图中的TYPE列区分该条记录是Online Redologs或是Standby Redologs


通过查看Standby Redologs的专用视图V$STANDBY_LOG来查看当前数据库中创建的Standby Redologs,如


SQL> SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;


GROUP# THREAD# SEQUENCE# ARC STATUS


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


4 0 0 YES UNASSIGNED


5 0 0 YES UNASSIGNED


6 0 0 YES UNASSIGNED


7 0 0 YES UNASSIGNED



从可靠性方面考虑,DG的设计初衷就是当发生故障时快速切换PrimaryStandby的角色,以达到快速恢复应用访问的目的。一旦发生切换,原Primary数据库就变成了Standby数据库,就得需要Standby Redologs,为了减少真正切换时应做的工作,建议在Primary数据库也创建Standby Redologs,这样即使发生切换,也不会影响Primary作为Standby身份的正常运行。



设置初始化参数


对于Primary数据库,有几个与角色相关的初始化参数需要进行设置,这些参数初始时有些用来控制REDO传输服务(即Primary数据库生成的REDO数据传给谁以及怎么传),有些用来指定角色,还有几个与Standby角色相关的初始化参数,也建议进行配置,以便switchover/failover操作后,Primary/Standby数据库仍能正常工作,建议不管是Primary数据库,还是Standby数据库,对于角色相关的初始化参数都进行配置。