在整个dg配置中,最复杂的也许就是参数的配置了,并且有许多参数都可以延伸出去讲很多,所以今天我们来看看dg的参数配置,顺便加上一点dataguard进程相关的信息,帮助理解。

在配置dg的过程中,我们必须在参数文件中加上一些参数的配置来保证dg的配置成功,dg的参数有很多,o小白就介绍一些比较重要的,如果要相信看的话可以去官网看相关的文档和说明,以下就是一些比较常用的参数,考虑到primary和standby转换的问题,我们就推荐参数在两边都进行配置:

1.DB_NAME:数据库名,其实这么说有点不准确,很容易让人理解错误,o小白干脆就把他理解成dg名算了,方正整个dg中所有的DB_NAME都必须是一致的。

2.DB_UNIQUE_NAME:真正的数据库名,用来标识在dg中不同的数据库的名字,以示区分。

3.DB_FILE_NAME_CONVERT/LOG_FILE_NAME_CONVERT:如果standby数据库和primary数据库在同一个系统中或者standby系统的数据文件或者是日志文件位置和primary库的不一样,那这个参数必须在standby库的参数文件中进行配置,以逗号分隔,将文件的路径用单引号括起来,以先primary库后standby库的方式配置。例如:db_file_name_convert='/u01/app/oracle/oradata/××××/datafile/','/u01/app/oracle/oradata/×××××/datafile/'。

4.CONTROL_FILES:控制文件的位置。

5.LOG_ARCHIVE_CONFIG:推荐参数。通过DG_CONFIG将dg中所有的DB_UNIQUE_NAME罗列出来,先primary库后standby库的方式配置。例如:LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago, boston)'。

6.LOG_ARCHIVE_DEST_n:归档文件的路径。最重要的参数之一,而且参数本身也十分复杂。那这里就趁势引入dataguard进程相关的一些工作机制。

dataguard中比较重要的进程有以下几个:

RFS:remote file server。该进程是standby库接受来自primary库lgwr进程触发的redo信息并且写入到standby redo log中。RFS进程无疑是要和其他进程配合的,也就是传输的进程。那这里就需要上篇的知识了,我们知道触发同步可能由ARCH或者是LGWR进程触发的,两者是不同的。如果是LGWR进程触发,那10g前的话也是由LGWR进程负责传输redo信息,RFS进程负责接收redo信息写入standby redo log中,10g之后则由LNSn进程完成;如果是ARCH进程触发,也就是归档日志传输的话,那就是由ARCH进程负责传输,RFS进程负责接收,然后写入指定的归档位置,然后再应用的。那这里不同的设置也决定了参数LOG_ARCHIVE_DEST_n的不同设置。详细见下。

LNSn:LGWR触发以后真正负责传输的进程,包括初始化网络I/O等一些列功能。

MRP:managed recovery process,简单来说就是物理standby是通过这个进程来实现数据的同步的,直接通过standby redo log或者是归档日志(取决于模式不同)来进行的一个数据恢复。

LSP:logical standby process:逻辑standby的方式,和上面的一样,只不过当中多了一步将redo信息转换成sql语句再恢复。也可以从这里看出逻辑standby和物理standby的不同。

那插播完了进程介绍,继续LOG_ARCHIVE_DEST_n,这个参数格式如下:

必须指定location/service:location代表的是本地的路径,在之后直接加入路径名例如LOG_ARCHIVE_DEST_1='LOCATION=/arch1/chicago/'

service代表的是net service name,通常就是standby数据库的net_service_name,可以在tnsnames.ora,定义NET SERVICE NAME.那根据前面所说的不同方式service的制定要复杂的多:LOG_ARCHIVE_DEST_2='SERVICE=net_service_name LGWR ASYNC',那这里也可以是LGWR SYNC NET_TIMEOUT=××来设置同步并且指定超时时间。如果是应用归档的方式,那就直接LOG_ARCHIVE_DEST_2='SERVICE=net_service_name。

valid_for:这个参数的作用是指定该LOG_ARCHIVE_DEST_n的路径的redo log的type 和redo log的“身份”的,方便在转换的时候使用。VALID_FOR=(redo_log_type,database_role)type有下面这些: ONLINE_LOGFILESTANDBY_LOGFILE,  ALL_LOGFILES. “身份”是这些: PRIMARY_ROLESTANDBY_ROLEALL_ROLES.

然后再附上DB_UNIQUE_NAME,完整例子如下:

LOG_ARCHIVE_DEST_1='LOCATION=/arch1/boston/VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=boston'

那这个参数应该是成对出现的LOCATION端一般都会指定,然后再指定standby端,我们在今后的实验中在看具体的例子。

7.LOG_ARCHIVE_DEST_STATE_n:和上面的LOG_ARCHIVE_DEST_n参数配置对应的LOG_ARCHIVE_DEST_n的状态:enable是可用,除此之外还有DEFER(不用)|ALTERNATE(备用)|RESET(不用)。

8.LOG_ARCHIVE_FORMAT:归档进程格式。

9.LOG_ARCHIVE_MAX_PRODUC:归档进程的数量,1-30,默认是4.

10.REMOTE_LOGIN_PASSWORD:三个选项,none(不实用密码文件,dg中不使用)exclusive(单个实例使用单个密码文件)或者shared(多个实例可以使用单个密码文件)。

11.FAL_SERVER:数据库的sid,通常是primary库。

12.FAL_CLIENT 指定一个数据库SID,通常该库为standby 角色。

13.STANDBY_FILE_MANAGEMENT:AUTO或者MANUAL。如果为AUTO则表示primary库的数据文件发生修改(新增,重命名),则在standby库会自动做相应的更改。如果是MANUAL,则表示手动。

oracle dataguard参数的更多相关文章

  1. Oracle 11g Dataguard参数详解

    https://www.jb51.net/article/52269.htm注:本文译自<Oracle Data Guard 11g Handbook> Page 78 – Page 88 ...

  2. Oracle Dataguard之switchover

    Oracle Dataguard的角色转换包含两类:Switchover和Failover.Switchover指主备之间角色转换,主库降为备库,备库升级为主库.而failover则是指主库出现问题时 ...

  3. Oracle Dataguard之Real-Time Apply

    Oracle Dataguard一共支持三种模式:最大可用模式(Maximum Availability),最大性能模式(Maximum Performance),最大保护模式(Maximum Pro ...

  4. Oracle Dataguard之物理standby的基本配置

    尽管网上有很多Oracle Dataguard的配置教程,但不难发现,很多采用的是rman duplicate这种方法,尽管此种方法较为简便.但在某种程度上,却也误导了初学者,虽说也能配置成功,但只知 ...

  5. Oracle DataGuard 物理Standby 搭建(上)

    物理standby database 环境搭建 Arch asysnc Oracle Dataguard host IP Oracle_sid DB_unique_name FAL_server FA ...

  6. Oracle DataGuard搭建(一)

    第一次搭建oracle dataguard.学oracle很长时间,却没有完整的搭过dg,说起来让人笑.总得有第一次,而且第一次总是很痛苦的. 数据库版本: Oracle Database 11g E ...

  7. Oracle DataGuard数据备份方案详解

    Oracle DataGuard是一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等. 在生产数据库的"事务一致性"时,使用生产库的物理全备份(或物理COPY)创建备 ...

  8. Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4]

    Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4] Primary: 11.2.0.1 单机,Site A. Standby: 11.2.0.1 单机,Site ...

  9. 9. Oracle DataGuard的介绍

    一. Oracle DataGuard简介 Oracle DataGuard:简称DG.是由一个Primary Database(主库)和一个或者多个Standby Database(备库)组成.对O ...

随机推荐

  1. MS SQL Server2012中的EOMONTH函数

    MS SQL Server2012中的EOMONTH函数   这个函数是获取一个指定日期所在月份最后一天的日期.可以得到某一个月月份的最后一天 如: declare @orderdate date=' ...

  2. 数据库 数据库SQL语句四

    多表查询 等值连接 --查询员工信息,员工号,姓名,月薪,部门名称 select e.empno,e.ename,d.dname from emp e,dept d where e.deptno=d. ...

  3. 使用HashMap,put()表示放置元素,get()表示取元素

    SortedSet可自动为元素排序. SortedSet的实现类是TreeSet:它的作用是字为添加到TreeSet中的元素排序. 与HashSet不同,TreeSet并不需要实现HashCode() ...

  4. java.lang下面有一个接口:Comparable(可比较的)

    对于自定义对象,Sort不知道规则,所以无法比较.这种情况下一定要定义排序规则.方式有两种: java.lang下面有一个接口:Comparable(可比较的) 可以让自定义对象实现一个接口,这个接口 ...

  5. 【BZOJ】1636: [Usaco2007 Jan]Balanced Lineup(rmq+树状数组)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1636 (我是不会说我看不懂题的) 裸的rmq.. #include <cstdio> # ...

  6. 开源 java CMS - FreeCMS2.2 建站向导

    项目地址:http://www.freeteam.cn/ 建站向导 为了方便用户创建网站,系统提供了建站向导功能. 从左側管理菜单点击建站向导进入. 第一步:创建网站 能够直接设置所属的父网站.填写相 ...

  7. 模拟form表单请求上传文件

    发请求 public string CameraFileUpload(string url,string path,string serverPath,string uploadfileName) { ...

  8. jQuery的end()方法使用详解

    end()方法的定义和用法: end()方法能够回到最近的一个"破坏性"操作之前,即将匹配的元素列表变为前一次的状态.如果没有破坏性操作将返回一个空集.破坏性操作的概念:指任何改变 ...

  9. shell 中各种符号的含义

    http://yesjavame.iteye.com/blog/1062405 http://blog.csdn.net/taiyang1987912/article/details/39551385

  10. Leetcode: Anagrams(颠倒字母而成的字)

    题目 Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will ...