Data Guard的相关参数
1、 与角色(主/备)无关的参数
DB_UNIQUE_NAME:数据库唯一名称。
LOG_ARCHIVE_CONFIG:它为Data Guard提供安全性检查:两个数据库之间的连接是允许的。
log_archive_config='dg_config=(Matrix,Matrix_DR0)'
这里Matrix,Matrix_DR0分别是主库和备库的DB_UNIQUE_NAME,它表示两个数据库之间可以进行归档传输。
CONTROL_FILES:控制文件目标。
LOG_ARCHIVE_MAX_PROCESSES:归档进程数,默认为2。至少将该参数设置为4,该参数最大值为30:
log_archive_max_processes='4'
DB_CREATE_FILE_DEST:如果正在使用ASM,将需要在备用数据库定义它:
db_create_file_dest=+DATABASE
2、 主角色参数
LOG_ARCHIVE_DEST_n:这是Data Guard重做传输的主要参数,通常在主数据库上发挥作用。该参数能用于指定ORL文件或者SRL文件的归档日志文件应该去往哪里。
该参数有17个特性,要使用Data Guard将重做数据正确传输到备用数据库,只需设置其中7个特性。
7个特性:
SERVICE 指定创建的指向备用数据库的TNSNAMES描述符。
SYNC 指定准备使用同步方法传输重做数据,这意味着LGWR进程将等待来自LNS的确认消息,然后才告知客户端事务已经提交。
ASYNC 异步传输方式。默认方式。
NET_TIMEOUT:(最高可用性模式)指定LGWR进程等待LNS进程做出响应的秒数,如果超过指定时间,将因故障放弃备用。默认是30秒,但根据网络的可靠性,
10~15秒会是更恰当的值,具体取决于网络可靠性。不能设置为低于10秒,那样在备用数据库恢复后,将遇到重连失败的情形,因为完成所有重连需要耗费几秒钟
的时间。
REOPEN:控制Data Guard允许主数据库尝试重连故障备用数据库前等待的时间。
默认为300秒,也就是说,不论备库是否恢复,也要等300秒后才重连备库。可以将其设置为30秒甚至15秒。
DB_UNIQUE_NAME:要在LOG_ARCHIVE_DEST_n参数中使用该特性,还需要设置LOG_ARCHIVE_CONFIG参数;
否则Data Guard将拒绝连接到该目标。这个用作SERVICE目标(远程)的名称是为连接另一端的数据库指定的唯一名称(备用数据库)。
必须将这个唯一名称输入两端数据库的LOG_ARCHIVE_CONFIG参数中。当主数据库连接备用数据库时,会向备用发送自己的唯一数据库名,同时要求备用
返回唯一名称。备用将检查配置参数LOG_ARCHIVE_CONFIG,确保主数据库的唯一名称的确存在。如果不存在,将拒绝连接。如果存在,备用数据库会将自己
的唯一名称发回到主LNS进程。如果返回值与该特性中指定的值不匹配,连接将终止。
VALID_FOR:建议使用该特性,它的主要作用是定义何时使用LOG_ARCHIVE_DEST_n目标参数,以及应在哪类重做日志文件上运行。
下面是日志文件合法值:
ONLINE_LOGFILE 仅归档ORL文件时有效
STANDBY_LOGFILE 仅归档SRL文件时有效
ALL_LOGFILES 无论对于那种重做日志文件类型都有效
下面是角色合法值:
PRIMAMRY_ROLE 仅对担当主角色的数据库有效
STANDBY_ROLE 仅对担当备用角色的数据库有效
ALL_ROLES 无论何种数据库角色都有效
现在看一下LOG_ARCHIVE_DEST_n,例如,为主库配置一个最高可用性模式的备库,则在主库中设置LOG_ARCHIVE_DEST_n参数,配置可能如下:
log_archive_dest_2='service=Matrix_DR0
SYNC REOPEN=15 NET_TIMEOUT=15
valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)
db_unique_name=Matrix_DR0'
再添加一个最高性能模式的备库:
log_archive_dest_3='service=Matrix_DR1
ASYNC REOPEN=15
valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)
db_unique_name=Matrix_DR1'
因为使用适当的DB_UNIQUE_NAME特性,我们也需要定义LOG_ARCHIVE_CONFIG参数:
log_archive_config='dg_config=(Matrix,Matrix_DR0,Matrix_DR1)'
以下的特性为可选特性:
AFFIRM:SYNC模式的默认方式。要求LNS进程等待RFS对SRL文件执行直接I/O后才返回成功消息。
在Oracle Database 11g中,会为ASYNC目标忽略AFFIRM。
NOAFFIRM:如果未指定,将是ASYNC目标的默认方式。
COMPRESSION:发送间隔的ARCH进程在发送时压缩归档内容。
COMPRESSION=ENABLE
MAX_CONNECTIONS:指定子发送间隔时用于备用目标的归档进程数量。
MAX_CONNECTIONS=5
DELAY:指定目标备用数据库的应用进程在该特性定义的延迟秒数之后再应用重做数据。基本废弃。
ALTERNATE:使用替代目标,可以重定向归档进程,以便为归档日志使用备用磁盘。
3、 备用角色参数
DB_FILE_NAME_CONVERT:在备用数据库上,该参数允许在逻辑上将数据文件从主数据库位置移到备用数据库位置。
如果两个系统的磁盘结构和布局不同,该操作是必需的。只有备用数据库成为主数据库后,才运行执行该转换。一旦切换到备用数据库或在发生故障后转移到
备用数据库,就会将这些值强制写入控制文件和数据文件头。
db_file_name_convert='/Matrix/','/Matrix_DR0/'
这将数据文件名从:
'/u03/oradata/Matrix/sysaux.dbf'
转换为:
'/u03/oradata/Matrix_DR0/sysaux.dbf'
同理:
db_file_name_convert='+DATA','+RECOVERY'
LOG_FILE_NAME_CONVERT:与DB_FILE_NAME_CONVERT的功能相同。
log_file_name_convert='/Matrix/','/Matrix_DR0/'
FAL_SERVER:如果当物理备用遇到重做间隔时无法连接到主数据库。便会询问其他某个备用数据库,为此,将FAL_SERVER参数定义为存在备用服务器的TNS名称列表。
fal_server='Matrix,Matrix_DR1'
FAL_CLIENT:在备用数据库Matrix_DR0,我们传递名称Matrix_DR0作为客户端名称,这样Matrix或Matrix_DR1可以反向链接Matrix_DR0并发送缺少的归档文件。
fal_client='Matrix_DR0'
必须在FAL服务器的TNS名称文件中定义Matrix_DR0,以便Data Guard可以连接到此备用数据库。
FAL_SERVER与FAL_CLIENT仅对物理备库有效。
STANDBY_FILE_MANAGEMENT:仅用于物理备库。如果将该参数设置为AUTO,每当在主数据库上添加或删除数据文件时,会自动在备用数据库上执行相应更改。只要备
用数据库中存在顶级目录,或可利用DB_FILE_NAME_CONVERT参数找到,Data Guard就会在备用数据库上执行DDL来创建数据文件。该参数默认为MANUAL,即物理备用数据
库上的应用进程不会自动创建新数据文件,您必须手动创建数据文件。