Oracle Data Guard 重要配置参数
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

更多参考
有关Oracle RAC请参考
使用crs_setperm修改RAC资源的所有者及权限 使用crs_profile管理RAC资源配置文件 RAC 数据库的启动与关闭 再说 Oracle RAC services Services in Oracle Database 10g Migrate datbase from single instance to Oracle RAC Oracle RAC 连接到指定实例 Oracle RAC 负载均衡测试(结合服务器端与客户端) Oracle RAC 服务器端连接负载均衡(Load Balance) Oracle RAC 客户端连接负载均衡(Load Balance) ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
ORACLE RAC 监听配置 (listener.ora tnsnames.ora) 配置 RAC 负载均衡与故障转移 CRS-1006 , CRS-0215 故障一例
基于Linux (RHEL 5.5) 安装Oracle 10g RAC
使用 runcluvfy 校验Oracle RAC安装环境
有关Oracle 网络配置相关基础以及概念性的问题请参考:
配置非默认端口的动态服务注册
配置sqlnet.ora限制IP访问Oracle Oracle 监听器日志配置与管理
设置 Oracle 监听器密码(LISTENER) 配置ORACLE 客户端连接到数据库
有关基于用户管理的备份和备份恢复的概念请参考
Oracle 冷备份 Oracle 热备份 Oracle 备份恢复概念 Oracle 实例恢复 Oracle 基于用户管理恢复的处理 SYSTEM 表空间管理及备份恢复 SYSAUX表空间管理及恢复 Oracle 基于备份控制文件的恢复(unsing backup controlfile)
有关RMAN的备份恢复与管理请参考
RMAN 概述及其体系结构 RMAN 配置、监控与管理 RMAN 备份详解 RMAN 还原与恢复 RMAN catalog 的创建和使用 基于catalog 创建RMAN存储脚本 基于catalog 的RMAN 备份与恢复 RMAN 备份路径困惑 使用RMAN实现异机备份恢复(WIN平台) 使用RMAN迁移文件系统数据库到ASM linux 下RMAN备份shell脚本 使用RMAN迁移数据库到异机
有关ORACLE体系结构请参考
Oracle 表空间与数据文件 Oracle 密码文件 Oracle 参数文件 Oracle 联机重做日志文件(ONLINE LOG FILE) Oracle 控制文件(CONTROLFILE) Oracle 归档日志 Oracle 回滚(ROLLBACK)和撤销(UNDO) Oracle 数据库实例启动关闭过程 Oracle 10g SGA 的自动化管理 Oracle 实例和Oracle数据库(Oracle体系结构)
Oracle Data Guard 重要配置参数的更多相关文章
- Oracle Data Guard的配置
概述 Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数 ...
- Oracle Data Guard配置
Oracle Data Guard 的配置在网上有很多资料,但是没有一个完整的,配置下来多少有些问题.在踩了各种坑之后,自己终于配置成功,就想把这过程记录下来. 1 测试环境 主数据库:windo ...
- Oracle Data Guard
DG 是 Oracle Data Guard 的简称.也就是Oracle11g的 数据卫士. 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理.给我的感觉这里的 DG 其 ...
- (转)Oracle Data Guard学习
一.Data Guard提供如下三种数据保护模式: 1)最高保护模式(Maximum Protection) 这里的”最高保护“是指最大限度的保护数据不丢失,也就是至少有一个standby和prima ...
- Oracle data guard学习
Oracle data guard学习:三思笔记 Data guard 1data guard结构: data guard是一个集合,由一个primary数据库(生产数据库)和一个或多个standby ...
- Oracle data guard 10g 搭建
Oracle data guard 10g 搭建 1系统常规参数检查 硬盘 [root@localhost ~]# df -h 内核 [root@localhost ~]# uname -a [roo ...
- 一步一步搭建 Oracle Data Guard
前言 为什么要写前言,因为我要吐槽一下.作为一个Java后端,搭建Oracle Data Guard真的是一件,嗯,既不专业也不擅长的事情,然而,为什么还是要我来弄? 因为DBA出差了,我们这边急着要 ...
- Oracle Data Guard Protection Modes
Maximum Availability This protection mode provides the highest level of data protection that is poss ...
- 【原】Configuring Oracle Data Guard In Physical Standby Database
作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...
随机推荐
- UVALive 6257 Chemist's vows
#include<iostream> #include<string.h> #include<stdio.h> #include<ctype.h> #i ...
- 小米路由通过SSH添加静态路由表之后无法跳转的问题
1.确定系统已经开启了转发功能: /etc/sysctl.conf下的配置项目为net.ipv4.ip_forward = 1 2.关闭防火墙的REJECT,也就是修改/etc/config/fire ...
- [Database] MongoDB 副本集配置
MongoDB 副本集配置 MongoDB复制是将数据同步在多个服务器的过程. 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性. 复制还允许您从硬 ...
- lanmp安装一(centos+apache+nginx+mysql+php=lanmp地址下载)
背景 centos7 官网地址https://www.centos.org/download/ 下载选择DVD版进入(也就是标准版,系统齐全) 点击任何一个国家的下载链接 下载地址 http://m ...
- php 可以动态的new一个变量类名
<?PHPheader("content-type:text/html; charset=utf-8");//echo ucfirst('a b'); class Stude ...
- Linux shell命令中expr
在Linux shell命令中expr虽然不是很起眼,但是它的作用是非常大的!到目前为止,我个人看来最大的作用就是两个——四则运算和字符串的操作. 先说四则运算,在Shell中四则运算不能简简单单的加 ...
- [Asp.Net web api]基于自定义Filter的安全认证
摘要 对第三方开放的接口,处于安全的考虑需要对其进行安全认证,是否是合法的请求.目前在项目中也遇到这种情况,提供的接口因为涉及到客户铭感数据,所以在调用的时候,不能直接暴露,需要有一个认证的机制.所以 ...
- java基础学习总结——数组
一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组的元素可以是任何数据类型,包括基 ...
- MVC文件上传09-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹,并在其中创建分类子文件夹
为用户创建专属上传文件夹后,如果想在其中再创建分类子文件夹,该怎么做?可以在提交文件的视图中再添加一个隐藏域,并设置 name="uploadContext". 相关兄弟篇: MV ...
- python文本 字符串开头或者结尾匹配
python文本 字符串开头或者结尾匹配 场景: 字符串开头或者结尾匹配,一般是使用在匹配文件类型或者url 一般使用startwith或者endwith >>> a='http:/ ...