在整个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_LOGFILE, STANDBY_LOGFILE,  ALL_LOGFILES. “身份”是这些: PRIMARY_ROLE, STANDBY_ROLE, ALL_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. Dubbo (开源分布式服务框架)

    Provider 暴露服务方称之为“服务提供者”. Consumer 调用远程服务方称之为“服务消费者”. Registry 服务注册与发现的中心目录服务称之为“服务注册中心”. Monitor 统计 ...

  2. python MySQLdb在windows环境下的快速安装

    python MySQLdb在windows环境下的快速安装.问题解决方式 使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 Python MySQLdb在Linux下 ...

  3. 将Oracle数据库转换为SQL Server

    (转发)近期为公司的一个项目数据库进行了转换,将Oracle的Db转换为SqlServer(2000或2005均可),一开始在网上找了一些资料,发现有个工具叫SwisSql的,尝试了一下,没成功,继续 ...

  4. std::lock_guard

    /* std::lock_guard:更方便线程对于互斥量的上锁操作 std::lock_guard:在定义一个lock_guard时上锁,保证在析构或者异常时解锁 */ #include <i ...

  5. css从中挖去一个圆

    始终居中: width: 300px; position: fixed; /*在可视区域的上下左右居中*/ top: calc(50vh - 200px); left: calc(50vw - 150 ...

  6. 应急分析异常通信的小思路和自己写的小工具(查询CNAME和A记录)

    一.背景: 在很多时候,应急会发现.卧槽,异常连接,只有一个域名或者IP. 怎么办?上防火墙看记录,查域名对应的记录累成狗,自己把之前的代码改了改,写了个小工具,一条命令查询DNS相关记录,也可以指定 ...

  7. eclipse中的SVN文件还原到历史版本

    转载自:http://www.softown.cn/post/103.html 由于某些特殊原因,我们可能需要将SVN资源库中的某个文件回滚到以前的某个历史版本(准确地说,这不是"回滚&qu ...

  8. IDEA整合日志框架Log4j2+Slf4j详细配置过程

    日志框架这么多,他们之间到底是什么关系呢?笼统的讲就是slf4j是一系列的日志接口,而log4j2.logback是具体实现了接口功能的日志框架.现在的主流日志接口都使用slf4j,而日志的实现就见仁 ...

  9. Java基础ArrayList、Servlet与Filter

    一.技术分享 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因 ...

  10. Struts2中的类型转换与复杂对象配合使用

    form 标签可以被映射到一个属性的属性 manager.java package com.atguigu.struts2.model; import java.util.Date; public c ...