IT开放社区

Oracle Data Guard参数设置详解备录

官方文档位置Books → Data Guard Concepts and Administration → 3 Creating a Physical Standby Database →3-1和3-2的内容

DB_NAME=chicago
DB_UNIQUE_NAME=chicago
LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'
CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ctl'
LOG_ARCHIVE_DEST_1=
 'LOCATION=/arch1/chicago/ 
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=chicago'
LOG_ARCHIVE_DEST_2=
 'SERVICE=boston ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 
  DB_UNIQUE_NAME=boston'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=30
FAL_SERVER=boston
DB_FILE_NAME_CONVERT='boston','chicago'
LOG_FILE_NAME_CONVERT=
 '/arch1/boston/','/arch1/chicago/','/arch2/boston/','/arch2/chicago/' 
STANDBY_FILE_MANAGEMENT=AUTO

【DB_NAME 】→数据库名

在一个Data Guard中的所有数据库DB_NAME参数需相同,主备库DB_NAME=chicago;

【DB_UNIQUE_NAME】 →数据库唯一名

为数据库指定唯一名,主库:DB_UNIQUE_NAME=chicago;备库DB_UNIQUE_NAME=boston;

【LOG_ARCHIVE_CONFIG】→日志归档配置

该参数通过DG_CONFIG属性罗列同一个Data Guard中所有DB_UNIQUE_NAME(含primary db及standby db),以逗号分隔。

主库和备库相同:

LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'

LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)';

【CONTROL_FILES】 →控制文件

控制文件位置,按照文件具体位置设置,主备库路径相同;

主库:

control_files='/u01/app/oracle/oradata/chicago/control01.ctl','/u01/app/oracle/oradata/chicago/control02.ctl','/u01/app/oracle/oradata/chicago/control03.ctl'

备库:

control_files='/u01/app/oracle/oradata/boston/control01.ctl','/u01/app/oracle/oradata/boston/control02.ctl','/u01/app/oracle/oradata/boston/control03.ctl'

【LOG_ARCHIVE_DEST_n】 →日志归档路径

本地归档路径。Primary与Standby需要定义各自的online redo log的归档地址,以系统实际的存放路径为准。格式如下:

Primary Site: 

*.LOG_ARCHIVE_DEST_1='LOCATION=/arch/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) '

Standby Site:                             

*.LOG_ARCHIVE_DEST_1='LOCATION=/stdby/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) '

注意:  

在LOG_ARCHIVE_DEST_n设置DB_UNIQUE_NAME表示该参数在 DB_UNIQUE_NAME指定的数据库上生效 ,设置为本地的db_unique_name。以priamry端为例,格式如下:

*.LOG_ARCHIVE_DEST_1='LOCATION=/archivelog/ VALID_FOR=(ALL_LOGFILES,

ALL_ROLES) DB_UNIQUE_NAME=Primary'  

这样配置的意义为:  在数据库  Primary  上log_archive_dest_1对主备库上的联机日志都有效,这里的  db_unique_name可以 省略

LOG_ARCHIVE_DEST_n 指定本地归档日志存储路径或者指定传输日志目的地
LOG_ARCHIVE_DEST_STATE_n  是和LOG_ARCHIVE_DEST_n对应的:
有三个数值:
ENABLE  允许发送
DEFER     不允许发送
ALTERNATE
LOG_ARCHIVE_DEST_n 有以下参数:
SERVICE /LOCATION    远程/本地
SYNC/ASYNC    同步/异步
NET_TIMEOUT  LGWR进程等待远程传输日志成功到确认的时间,数值1-1200 默认30秒,oracle建议配置
AFFIRM /NOAFFIRM   AFFIRM :指定直到接收从原库传来的日志并写到备库日志中才确定。
NOAFFIRM : received redo is acknowledged(确认)without waiting for received redo to be written to the standby redo log
DB_UNIQUE_NAME  必须是LOG_ARCHIVE_CONFIG中DG_CONFIG list
VALID_FOR=(redo_log_type, database_role) 默认VALID_FOR=(ALL_LOGFILES, ALL_ROLES)
其中:redo_log_type 有三种:
ONLINE_LOGFILE   目的地可用当在线日志正在归档
STANDBY_LOGFILE 目的地可用当备库在线日志正在归档
ALL_LOGFILES
其中:database_role 有三种:
PRIMARY_ROLE 目的地可用当数据库是主库
STANDBY_ROLE 目的地可用当数据库是备库
ALL_ROLES
REOPEN   try to reopen a failed destination的秒数 默认300秒
COMPRESSION 传输日志是否压缩  默认DISABLE
范例:
DB_UNIQUE_NAME=orcl
log_archive_dest_1='LOCATION=+ARCHDG/orcl VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl' 
LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcl_standby)'
LOG_ARCHIVE_DEST_2='SERVICE=standby_orcl ARCH NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_standby'
LOG_ARCHIVE_DEST_STATE_2='ENABLE'
详细可以查看:
select * from V$ARCHIVE_DEST

【LOG_ARCHIVE_DEST_STATE_2】 →归档日志目录状态

LOG_ARCHIVE_DEST_STATE_n = {ENABLE|DEFER|ALTERNATE|RESET}

指定参数值为ENABLE,激活定义的归档日志目录,允许redo 传输服务传输redo数据到指定的路径。 

主库:

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

备库:

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

【REMOTE_LOGIN_PASSWORDFILE 】→远程登录密码文件

REMOTE_LOGIN_PASSWORDFILE= {EXCLUSIVE|SHARED|NONE}

推荐设置参数值为EXCLUSIVE或者SHARED,注意保证相同Data Guard配置中所有DB服务器SYS用户密码相同。 

主库:

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

备库:

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

【LOG_ARCHIVE_FORMAT】 →日志文件格式

LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc

指定归档文件格式,这里在主备端应保持一样的格式。 %t - thread number %s - log sequence number %r - resetlogs ID  

主库:

LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc

备库:

LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc

【LOG_ARCHIVE_MAX_PROCESSES】→日志归档最大进程

LOG_ARCHIVE_MAX_PROCESSES =integer

指定归档进程的数量(1-30),默认值通常是4。

【COMPATIBLE】 →兼容

COMPATIBLE = release_number.

主数据库和备用数据库的Oracle兼容版本信息,主备设置必须保证一致。 

主库:

COMPATIBLE='11.2.0.4.0'

备库:

COMPATIBLE='11.2.0.4.0'

【FAL_SERVER】→读取归档日志服务器

FAL_SERVER = Oracle_Net_service_name

备库端的参数。指定一个数据库SID,通常该库为primary 角色。(FAL 是Fetch Archived Log 的缩写) 

主库(主库进行设置,是为了在切换后主备角色互换后使用):

FAL_SERVER=boston

备库:

FAL_SERVER=chicago

【FAL_CLIENT】→读取归档日志客户端

FAL_CLIENT = Oracle_Net_service_name

备库端的参数。指定一个数据库SID,通常该库为standby 角色。 

主库(主库进行设置,是为了在切换后主备角色互换后使用):

FAL_CLIENT=chicago

备库:

FAL_CLIENT=boston

【DB_FILE_NAME_CONVERT】→数据文件名转换

DB_FILE_NAME_CONVERT = ('location_of_primary_database_datafile' , 'location_of_standby_database_datafile_name' , '...'

主数据库和备数据库的数据文件转换目录对映(如果两数据库的目录结构不一样),如果有多个对应关系,需逐一给出。 

主库(主库进行设置,是为了在切换后主备角色互换后使用):

DB_FILE_NAME_CONVERT='boston','chicago'

备库:

DB_FILE_NAME_CONVERT='chicago','boston' 

【LOG_FILE_NAME_CONVERT】→ 日志文件名转换

LOG_FILE_NAME_CONVERT='location_of_primary_database_redo_logs', 'location_of_standby_database_redo_logs'

指明主数据库和备用数据库的log文件转换目录对应关系。 

主库(主库进行设置,是为了在切换后主备角色互换后使用):

LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/boston/','/u01/app/oracle/oradata/chicago/'

备库:

LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/chicago/','/u01/app/oracle/oradata/boston/'

【STANDBY_FILE_MANAGEMENT】→备用文件管理

STANDBY_FILE_MANAGEMENT = {AUTO|MANUAL}

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

主库(主库进行设置,是为了在切换后主备角色互换后使用):

STANDBY_FILE_MANAGEMENT=AUTO

备库:

STANDBY_FILE_MANAGEMENT=AUTO

 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类
站点信息
  • 文章总数:119
  • 页面总数:2
  • 分类总数:3
  • 标签总数:12
  • 评论总数:2
  • 浏览总数:116129
友情链接

BlogPowerBy Z-BlogPHP 1.5 Zero ;Theme By 爱墙纸

Copyright © 2020-2030 ITkaifang.COM All Rights Reserved. 京ICP备13044647号.Email:dreamerqin@qq.com