五. 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′