五. Data Guard环境应配置的初始化参数

 

 

下列参数为Primary角色相关的初始化参数
DB_NAME 注意保持同一个Data Guard中所有数据库DB_NAME相同

 

例如:DB_NAME=Dave

DB_UNIQUE_NAME 为每一个数据库指定一个唯一的名称,该参数一经指定不会再发生变化,除非DBA主动修改它

 

例如:DB_UNIQUE_NAME=DavePre

LOG_ARCHIVE_CONFIG 该参数用来控制从远端数据库接收或发送REDO数据,通过DG_CONFIG属性罗列同一个Data Guard中所有DB_UNIQUE_NAME(含Primary数据库和Standby数据库),以逗号分隔,SEND/NOSEND属性控制是否可以发送,RECEIVE/NORECEIVE属性控制是否能够接收

 

例如:LOG_ARCHIVE_CONFIG=’DG_CONFIG=(DavePre,DaveDG)’

LOG_ARCHIVE_DEST_n 归档文件的生成路径。该参数非常重要,并且属性和子参数也特别多(可以直接查询Oracle官方文档。Data Guard白皮书第14章专门介绍了该参数各属性及子参数的功能和设置)。例如:

 

LOG_ARCHIVE_DEST_1=’LOCATION=l:/oracle/oradata/Dave VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DavePre’

LOG_ARCHIVE_DEST_STATE_n 是否允许REDO传输服务传输REDO数据到指定的路径。该参数共拥有4个属性值,功能各不相同。
REMOTE_LOGIN_PASSWORDFILE 推荐设置参数值为EXCLUSIVE或者SHARED,注意保证相同Data Guard配置中所有DB服务器SYS密码相同
以下参数为与Standby角色相关的参数(建议在Primary数据库的初始化参数中也进行设置,这样即使发生角色切换,新的Standby也能直接正常运行)
FAL_SERVER 指定一个Net服务名,该参数值对应的数据库应为Primary角色。当本地数据库为Standby角色时,如果发现存在归档中断的情况,该参数用来指定获取中断的归档文件的服务器

 

例如:FAL_SERVER=DavePre

提示:FAL是Fetch Archived Log的缩写

FAL_SERVER参数支持多个参数值的哟,相互间以逗号分隔

FAL_CLIENT 又指定一个Net服务名,该参数对应数据库应为Standby角色。当本地数据库以Primary角色运行时,向参数值中指定的站点发送中断的归档文件

 

例如:FAL_CLIENT=DaveDG

FAL_CLIENT参数也支持多个参数值,相互间以逗号分隔。

DB_FILE_NAME_CONVERT Standby数据库的数据文件路径与Primary数据库数据文件路径不一致时,可以通过设置DB_FILE_NAME_CONVERT参数的方式让其自动转换。该参数值应该成对出现,前面的值表示转换前的形式,后面的值表示转换后的形式

 

例如:DB_FILE_NAME_CONVERT=’f:/oradata/DavePre’,'l:/oradata/DaveDG’

LOG_FILE_NAME_CONVERT   使用方式与上相同,只不过LOG_FILE_NAME_CONVERT专用来转换日志文件路径

 

例如:

LOG_FILE_NAME_CONVERT=’f:/oradata/DavePre’,'l:/oradata/DaveDG’

STANDBY_FILE_MANAGEMENT 如果Primary数据库数据文件发生修改(如新建、重命名等)则按照本参数的设置在Standby数据库中作相应修改。设为AUTO表示自动管理。设为MANUAL表示需要手工管理

 

例如:STANDBY_FILE_MANAGEMENT=AUTO

 

 

对于归档失败的处理,LOG_ARCHIVE_DEST_n参数有几个属性,可以用来控制归档过程中出现故障时应该采取的措施。

1.REOPEN 指定时间后再次尝试归档

使用REOPEN=seconds(默认为300秒)属性,在指定时间重复尝试向归档目的地进行归档操作,如果该参数值设置为0,则一旦失败就不会再尝试重新连接并发送,直到下次REDO数据再被归档时会重新尝试。

例如,设置REOPEN为100秒:

LOG_ARCHIVE_DEST_2=’SERVICE=DavePrimary LGWR ASYNC REOPEN=100′

2.ALTERNATE 指定替补的归档目的地

ALTERNATE属性定义一个替补的归档目的地,所谓替补就是一旦主归档目的地因各种原因无法使用,则临时向ALTERNATE属性中指定的路径写。

例如:

LOG_ARCHIVE_DEST_1=’LOCATION=/disk1 ALTERNATE=LOG_ARCHIVE_DEST_2′

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_2=’LOCATION=/disk2′

LOG_ARCHIVE_DEST_STATE_2=ALTERNATE

上述参数设置归档路径为/disk1,当/disk1路径下无法成功归档时,自动尝试向/disk2路径下归档文件。

从功能上来看,REOPEN与ALTERNATE是有一定重复的,不过需要注意一点,REOPEN属性比ALTERNATE属性的优先级要高,如果你指定REOPEN属性的值>0,则LGWR(或ARCn)进程会首先尝试向主归档目的地写入,直到达到最大重试次数,如果仍然写入失败,才会向ALTERNATE属性指定的路径写。

 

3.MAX_FAILURE 控制失败尝试次数

用REOPEN指定失败后重新尝试的时间周期,MAX_FAILURE则控制失败尝试的次数。

例如,设置LOG_ARCHIVE_DEST_1在本地归档文件时,如果遇到错误,则每隔100秒尝试一次,共尝试不超过3次,设置如下:

LOG_ARCHIVE_DEST_1=’LOCATION=E:/ora10g/oradata/jsspdg/ REOPEN=100 MAX_FAILURE=3′