All about Data Guard(四)

2014-11-24 14:31:54 · 作者: · 浏览: 3
思路,比如多个文件组啦,每组多个文件冗余之类的。除些之外呢,oracle提供了一些标准的建议如下:
* 确保standby redo log 的文件大小与primary数据库online redo log 文件大小相同。
* 创建适当的日志组
一般而言,standby redo 日志文件组数要比primary 数据库的online redo 日志文件组数至少多一个。推荐standby redo 日志组数量基于primary 数据库的线程数(这里的线程数可以理解为rac结构中的rac节点数)。
有一个推荐的公式可以做参考:(每线程的日志组数+1)*最大线程数
例如primary数据库有两个线程,每个线程分配两组日志,则standby日志组数建议为6组,使用这个公式可以降低primary数据库实例LGWR进程锁住的可能性。
提示:逻辑standby数据库有可能需要视工作量增加更多的standby redo log文件(或增加归档进程),因为逻辑standby需要同时写online redo log 文件。
Standby redo log 的操作方式与online redo log几乎一模一样,只不过在创建或删除时需要多指定一个standby 关键字,例如添加:
=========================================================================================================
SQL> alter database add standby logfile group 4 ('e:\ora10g\oradata\jsspdg\STANDBYRD01.LOG') size 20 M;
SQL> alter database drop standby logfile group 4;
=========================================================================================================
另外,从可靠性方面考虑,建议在primary数据库也创建standby redologs,这样一旦发生切换,不会影响primary做为standby的正常运行。
验证standby redo log文件组是否成功创建
例如:
========================================================================
SQL> SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
========================================================================
4、 设置初始化参数
对于primary数据库,需要定义几个primary角色的初始化参数控制redo传输服务,还有几个附加的standby角色的参数需要添加以控制接收redo数据库并应用(switchover/failover后primary/standby角色可能互换,所以建议对于两类角色 相关的 初始化参数都进行配置)。
下列参数为primary角色相关的初始化参数:
DB_NAME
注意保持同一个Data Guard中所有数据库DB_NAME相同。
例如:DB_NAME=jssweb
DB_UNIQUE_NAME
为每一个数据库指定一个唯一的名称,该参数一经指定不会再发生变化,除非你主动修改它。
例如:DB_UNIQUE_NAME=jssweb
LOG_ARCHIVE_CONFIG
该参数通过DG_CONFIG属性罗列同一个Data Guard中所有DB_UNIQUE_NAME(含primary db及standby db),以逗号分隔
例如:LOG_ARCHIVE_CONFIG=¨D G _CONFIG=(jssweb,jsspdg)¨
CONTROL_FILES
没啥说的,控制文件所在路径。
LOG_ARCHIVE_DEST_n
归档文件的生成路径 。该参数非常重要,并且属性和子参数也特别多(这里不一一列举,后面用到时单独讲解如果你黑好奇,建议直接查询oracle官方文档。Data guard白皮书第14章专门介绍了该参数各属性及子参数的功能和设置)。 例如:
LOG_ARCHIVE_DEST_1=
'LOCATION=E:\ora10g\oradata\jssweb VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jssweb'
LOG_ARCHIVE_DEST_STATE_n
指定参数值为ENABLE,允许redo传输服务传输redo数据到指定的路径。 该参数共拥有4个属性值,功能各不相同。
REMOTE_LOGIN_PASSWORDFILE
推荐设置参数值为EXCLUSIVE或者SHARED,注意保证相同Data Guard配置中所有db服务器sys密码相同。
LOG_ARCHIVE_FORMAT
指定归档文件格式。
LOG_ARCHIVE_MAX_PRODUCESSES
指定归档进程的数量(1-30),默认值通常是4 。
以下参数为standby角色相关的参数,建议在Primary数据库 的初始化参数中也进行 设置,这样在role transition后(Primary转为Standby)也能正常运行:
FAL_SERVER
指定一个 TNSNAMES ,通常该 tnsnames 对应数据库为primary角色。
例如:FAL_SERVER=jssweb
FAL_CLIENT
指定一个 TNSNAMES ,通常该 tnsnames 对应数据库为standby角色。
例如:FAL_CLIENT=jsspdg
提示:FAL是Fetch Archived Log的缩写
DB_FILE_NAME_CONVERT
在做duplicate复制和传输表空间的时候这类参数讲过很多遍,该参数及上述内容中同名参数功能,格式等完全相同。
LOG_FILE_NAME_CONVERT
同上
STANDBY_FILE_MANAGEMENT
如果primary数据库数据文件发生修改(如新建,重命名等)则按照本参数的设置在standby中做相应修改。设为AUTO表示自动管理。设为MANUAL表示需要手工管理。
例如:STANDBY_FILE_MANAGEMENT=AUTO
注意:上面列举的这些参数仅只是对于primary/standby两角色可能会相关的参数,还有一些基础性参数比如*_dest,*_size等数据库相关的参数在具体配置时也需要根据实际情况做出适当修改。
5、 确保数据库处于归档模式
SQL> archive log