前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle Data Guard 重要配置参数

Oracle Data Guard 重要配置参数

作者头像
Leshami
发布2018-08-13 15:30:39
9250
发布2018-08-13 15:30:39
举报

    Oracle Data Guard主要是通过为生产数据库提供一个或多个备用数据库(是产生数据库的一个副本),以保证在主库不可用或异常时数据不丢失并通过备用数据库继续提供服务。对于Oracle DG的配置,我们可以通过Grid Control来完成,也可以通过Data Guard Broker以及SQL*Plus来完成。对于前两者方式可以在图形界面上完成,操作简单。而对于使用SQL*Plus命令行方式,我们需要进行大量的配置,尤其是这其中的一些参数。本文主要描述配置Oracle Data Guard 的重要参数。下面关于Data Guard简称为DG。

1、DG的几类参数     配置DG时,有几种不同类型的参数,通常分为与角色无关的参数,主库角色参数,备库角色参数。     对于这些不同类型参数都应当给予正确的设置,否则DG无法正常运行或者无法正常实现角色转换。     注,对于主备库参数分类并不意味着这些参数只能在主库或备库设置,如有些参数发生切换的话,主备库都应当设置。

2、 与角色无关的参数   a、COMPATIBLE = release_number      这个用于设置版本兼容性参数,必须指定相同的值,否则,切换异常以及redo传输服务失败。   b、DB_NAME = database name       这个参数比较常见,任意一个数据库都必须有的数据库的名字。注,同一个DG中,所有角色的DB_NAME相同。      如 *.db_name='oradb'   c、DB_UNIQUE_NAME = Unique name for the database      数据库的唯一名称,与DB_NAME相对应,此是一个逻辑名称,对应于数据库的实例名,缺省情况下等于DB_NAME。      如果配置LOG_ARCHIVE_CONFIG,建议设置为一个唯一的值,在主备角色发生变化的情况下,该参数不会改变。      主库:*.db_unique_name='oradb'      备库: *.db_unique_name='oradbdg'   d、LOG_ARCHIVE_CONFIG = 'DG_CONFIG ( db_unique_name, db_unique_name, ... )'      该参数用于定义DG中所有有效的DB_UNIQUE_NAME名字的列表,以逗号分割,为DG提供安全性检查。建议始终配置该参数。        主库与备库端采用相同设置。      主库:*.log_archive_config='DG_CONFIG=(oradb,oradbdg)'      备库: *.log_archive_config='DG_CONFIG=(oradb,oradbdg)'

  e、CONTROL_FILES = 'control_file_name', 'control_file_name', '...'      该参数用于定义控制文件所在的位置,根据主库与备库所在的路径作相应修改。可以参考: Oracle 控制文件

  f、 LOG_ARCHIVE_MAX_PROCESSES =integer      该参数用于定义归档所使用的进程数。      在主库上,归档进程用于处理联机重做日志文件的归档以及处理到备库重做日志流的间隔。      在备库上,归档进程负责归档Standby Redo log,并将归档日志转发到级联备库。      建议该参数最小设置为4,其最大值为30   g、LOG_ARCHIVE_FORMAT=log%d_%t_%s_%r.arc      这个参数用于定义归档日志的格式   h、REMOTE_LOGIN_PASSWORDFILE = {EXCLUSIVE|SHARED}      该参数用于设置认证方式,建议设置参数值为EXCLUSIVE 或者SHARED,注意保证相同Data Guard配置中所有db 服务器sys密码相同。      关于这个参数,可参考:Oracle 密码文件      主库:*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE      备库: *.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

3、主库角色相关参数   a、LOG_ARCHIVE_DEST_n = {LOCATION=path_name | SERVICE=service_name, attribute, attribute, ...}      用于设置主库归档日志路径以及重做日志传输。对于DG环境中此参数设置较为复杂。有关归档问题请参考:Oracle 归档日志      如果启用了闪回区,对于本地归档则无需再设置。对于该参数可以设置10个可用目标,其中一个为本地归档。也即是可存在9个备用库。      该参数有众多特性,下面列出几个常用的。      SERIVCE: 用于指定备用数据库的TNSNAMES描述符,Oralce 会将重做日志传送到这个TNSNAMES指定的备库。      SYNC: 用于指定使用同步传输方式到备库。即LGWR进程需要等待来自LNS的确认消息后,然后告知客户端事务已提交。            最高可用性及最大保护模式下,至少有一个备用目标应指定为SYNC。      ASYNC:与SYNC相反,指定使用异步传输模式,此为默认的传输方法。      NET_TIMEOUT: 指定LGWR进程等待LNS进程的最大时间数,单位为秒(缺省30)。如果超出该值,则主库放弃备库,继续执行主库上的事务。      REOPEN:主库遇到备库故障后尝试重新连接备库所需等待的时间,单位为秒(缺省300)。       DB_UNIQUE_NAME:主库与备库连接时会发送自己的唯一名称,同时要求备库返回其唯一名称,并结合LOG_ARCHIVE_CONFIG验证其存在性。      VALID_FOR:定义何时使用(角色相关)LOG_ARCHIVE_DEST_n参数以及应该在哪类重做日志文件上运行。         可用日志文件类型:online_logfile,standby_logfile, all_logfiles         可用的角色类型:primary_role, standby_role, all_roles      主库:log_archive_dest_1='LOCATION=/u01/database/sybo3/arch db_unique_name=oradb valid_for=(ALL_LOGFILES,ALL_ROLES)';      备库: log_archive_dest_2='SERVICE=oradbdg ASYNC db_unique_name=oradbdg valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)';              log_archive_dest_3='SERVICE=oradbdg2 ASYNC db_unique_name=oradbdg2 valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)';       如果按上述设置则log_archive_config应设置为log_archive_config='DG_CONFIG=(oradb,oradbdg,oradbdg2)'           定义使用闪回区时归档的设置         log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST db_unique_name=oradb valid_for=(ALL_LOGFILES,ALL_ROLES)'      -- Author : Robinson Cheng      -- Blog   : http://blog.csdn.net/robinson_0612   b、LOG_ARCHIVE_DEST_STATE_n = {ENABLE|DEFER|ALTERNATE}      指定参数值为ENABLE,允许redo 传输服务传输重做日志数据到指定的路径。默认情况下为ENABLE。

4、备库角色相关参数   a、DB_FILE_NAME_CONVERT = 'location_of_primary_database_datafile','location_of_standby_database_datafile'      对于主库与备库在同一主机上或者是不同的主机且使用了不同的路径,该参数应当被设置。      当主库切换或发生故障后转移到备用数据库,该参数会执行转换并将其值强制写入到控制文件。      其次该参数也可用于RMAN做复制数据库时指定其数据文件的转换位置。参考: RMAN 数据库克隆文件位置转换方法      主库: /u01/database/oradb/oradata       *.db_file_name_convert =('oradbdg','oradb')      备库: /u01/database/oradbdg/oradata     *.db_file_name_convert =('oradb','oradbdg')      如果使用ASM,可以设置为*.db_file_name_convert =('+DATA','+RECOVERY')    b、LOG_FILE_NAME_CONVERT = 'location_of_primary_database_redo_logs','location_of_standby_database_redo_logs'      指明主数据库和备用数据库联机重做日志文件转换关系。其作用等同于DB_FILE_NAME_CONVERT      主库: /u01/database/oradb/redo       *.db_file_name_convert =('oradbdg','oradb')      备库: /u01/database/oradbdg/redo     *.db_file_name_convert =('oradb','oradbdg')

  c、FAL_SERVER(Fetch Archive Log) = Oracle_Net_service_name      该参数定义为存在于备用服务器的TNS名称列表(指向主数据库和任意备用数据库)。该参数仅物理备用数据库有效。      主要是用于轮询查找丢失的重做日志间隔,并处理应用进程发布的任意未定间隔请求。      当物理备用数据库遇到重做间隔时无法连接到主库,也可从其它备库提取日志。      主库:*.FAL_SERVER=oradbdg  (主库进行设置,是为了在切换后主备角色互换)      备库:*.FAL_SERVER=oradb

  d、FAL_CLIENT = Oracle_Net_service_name      日志间隔请求着客户端名称,为TNSNAMES名称。FAL_SERVER上的归档进程可以反向连接请求者。该参数仅物理备用数据库有效。      该参数的值必须在主库的TNSNAMES文件中定义。      主库:*.FAL_CLIENT=oradb  (主库进行设置,是为了在切换后主备角色互换)      备库:*.FAL_CLIENT=oradbdg   e、STANDBY_FILE_MANAGEMENT = {AUTO | MANUAL}      该参数仅适用于物理备用数据库。建议将其值设置为AUTO,这样当主库添加或删除数据文件时,会自动在备库上完成相应的更改。      主库:*.STANDBY_FILE_MANAGEMENT=AUTO  (主库进行设置,是为了在切换后主备角色互换)      备库:*.STANDBY_FILE_MANAGEMENT=AUTO

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年08月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档