有数据库问题可加微信号13889571826

在这篇文章中介绍一下在ADG主备搭建过程中参数的设置,这里介绍的ADG参数释义并不和其他文章类似,将英文的原文按照中文进行简单翻译。你们试着读一下就知道了。

DB_NAME:在搭建ADG的过程中,主库DB_NAME必须与备库的DB_NAME一致。在备库中的数据文件头也存在DB_NAME,从主库创建standby controlfile给备库使用后,备库的控制文件中DB_NAME和数据文件头中的DB_NAME不一致,会导致在开启MPR0进程之后报错,主库与备库同步不了的问题。所以在搭建ADG参数设置过程中,只有DB_NAME这个参数主库和备库必须完全一致。在面试过程中有时会问到,在搭建ADG的过程中,都有哪些参数是主备同步,备主同步的必要条件,DB_NAME和LOG_ARCHIVE_CONFIG这两个参数。

DB_UNIQUE_NAME:数据库唯一名决定了数据库服务名,数据库服务名随数据库唯一名的改变而改变。如果DB_UNIQUE_NAME不进行特殊指定,默认和DB_NAME一致,而数据库服务名在ADG搭建过程中有重要作用的。主库需要通过在参数LOG_ARCHIVE_CONFIG中设置备库的数据库服务名告知oracle服务将主库archive log传输到数据库服务名指定的备库。而在主备切换的过程中主库需要切换成备库,备库需要切换成主库。备库在切换成主库之后,成为主动传输日志的角色。所以要完成主备切换,备库也需要在LOG_ARCHIVE_CONFIG参数中设置主库的service name。

LOG_ARCHIVE_DEST_N:在搭建ADG过程中通过在LOG_ARCHIVE_DEST_N参数中设置备库的service name,设置主库数据库服务将主库的archvie log传送到目的数据库,这里的目的数据库是通过备库的service name确定的。在主库的网络层面,不仅要设置LOG_ARCHIVE_DEST_N参数,为了让主库理解service name在网络层面的具体意义,也需要在主库的tnsname.ora文件中将备库的service name定义进行设置。即增加一条tnsname entry,描述备库的ip和数据库服务名。

以下是ADG搭建过程中LOG_ARCHIVE_DEST_N参数设置的一个例子:

alter system set log_archive_dest_2='service=orcl19c lgwr async valid_for=(online_logfiles,primary_role)' scope=both;

alter system set log_archive_dest_state_2='enable' scope=both;

其中service=orcl19c lgwr async valid_for几个参数

SYNC同步:在事物提交之前,所有的重做数据即redo entry必须同步到所有备库。

ASYNC异步:在事物提交之前,所有的重做数据即redo entry不需要同步到所有备库。

LGWR/ARCH

LGWR:通过LGWR触发LNS进程传送重做数据到备库RFS。LNS进程可以有很多个,LNS是LGWR的子线程,LGWR依然负责将重做数据写入到redo log中,LNS负责将重做数据传送到每一个备库。

ARCH:ARCH方式是一种异步的方式,只有在LGWR写满redo log,ARCH进程将redo log写到archive log,才会将日志传输给备库,之后备库应用redo数据。是一种延时的方式。

在Oracle 11g及之后的版本的dataguard,配置参数log_archive_dest_n已经取消了arch/lgwr属性。 默认使用lgwr来传输redo数据。除非有gap存在,dataguard不再依赖archive log同步主备。

valid_for

初始化参数LOG_ARCHIVE_DEST_n中的valid_for属性用来指定redo数据的存放位置,可以存放在本地,也可以指定redo transport的位置。其中VALID_FOR属性用来指定redo数据存放位置,其格式为:VALID_FOR=(redo_log_type,database_role)。没有写VALID_FOR时,默认VALID_FOR=(all_logfiles,all_roles)

VALID_FOR属性由2部分组成:archive_source(online_logfile,standby_logfile,all_logfiles)和database_role(primary_role,standby_role,all_role).

online_logfile: 参数LOG_ARCHIVE_DEST_n只在从v$logfile中的type为online的日志中读取redo数据生效

standby_logfile: 参数LOG_ARCHIVE_DEST_n只在从v$logfile中的type为standby的日志中读取redo数据

all_logfiles: online_logfile和standby_logfile

primary_role: 仅当数据库角色为主库时候生效

standby_role: 仅当数据库角色为备库时候生效

all_role: 任意角色均生效

 

最大保护

最大可用

最大性能

进程

LGWR

LGWR

LGWR或ARCH

网络传输模式

SYNC

SYNC

LGWR时设置ASYNC

磁盘写操作

AFFIRM

AFFIRM

NOAFFIRM

备用日志

YES

物理备用需要

LGWR和物理备用时需要

备用库类型

物理Standby

物理或逻辑

物理或逻辑

在搭建ADG设置最大保护模式时,有最大保护,最大可用,最大性能。

在设置保护模式时必须满足对LOG_ARCHIVE_DEST_N参数的一些设置。

按照上表的设置

最大保护必须满足lgwr async affirm

最大可用必须满足lgwr async affirm

最大性能必须满足lgwr/arch async noaffirm

如果设置了最大保护模式但LOG_ARCHIVE_DEST_N参数不满足设置,数据库保护模式会退化为最大性能。

可见最大可用以上都必须将LOG_ARCHIVE_DEST_N参数设置为lgwr async affirm。

LOG_ARCHIVE_DEST_STATE_N:在ADG搭建过程中,如果已经设置了参数LOG_ARCHIVE_DEST_N=service name。通过将LOG_ARCHIVE_DEST_STATE_N参数设置为enable或者disable,可以启用或者禁用日志的传输。这个参数实际上是对设置过的控制日志传输的LOG_ARCHIVE_DEST_N参数的控制,即LOG_ARCHIVE_DEST_STATE_N设置为enable,那么已经设置过的LOG_ARCHIVE_DEST_N=service name参数启用,disable即禁用。另外在ADG同步过程中,可以通过LOG_ARCHIVE_DEST_STATE_N设置为disable之后enable。重新启动数据库服务传输主库archive log。这在某些主库LNS服务不能自动将archive log传输到备库RFS服务的场景下,有重新使archive log日志传输的作用。

CONTROL_FILES:为主数据库上的控制文件指定路径名。 建议提供控制文件的第二个副本,以便在将好的控制文件复制到坏的控制文件位置之后,可以轻松地重新启动实例。

REMOTE_LOGIN_PASSWORDFILE:如果使用远程登录密码文件对管理用户进行身份验证或重做传输会话,则必须将此参数设置为 EXCLUSIVE 或 SHARED。

LOG_ARCHIVE_FORMAT:使用线程(%t)、序列号(%s)和resetlogs ID (%r)指定归档重做日志文件的格式。

FAL_SERVER:指定 FAL 服务器的 Oracle Net 服务名(通常是在主角色中运行的数据库)。 当Chicago数据库以备用角色运行时,如果Boston无法自动发送丢失的日志文件,它将使用Boston数据库作为FAL服务器来获取(请求)丢失的归档重做日志文件。

STANDBY_FILE_MANAGEMENT: 设置为AUTO,以便当向主库添加或删除数据文件时,会自动对备库进行相应的更改。

DB_FILE_NAME_CONVERT:指定备库数据文件的路径名和文件名位置,然后是主库。 该参数将主库数据文件的路径名转换为备库数据文件的路径名。 该参数仅用于物理备库的路径名称转换。 该参数可以指定多对路径。

LOG_FILE_NAME_CONVERT:指定备库在线重做日志文件的位置,然后是主库。 该参数将主库日志文件的路径名转换为备库日志文件的路径名。 该参数可以指定多对路径。

注释:

LNSn ( Log Network Server):主库本地的LGWR进程和ARCn进程都通过LNSn进程将redo数据传送到备库RFS进程。备库的RFS进程接收redo数据写入到备库的standby redo log中进行备库归档,或者写入备库归档日志后应用到备库。如果为real time apply,RFS进程直接将redo数据写入到standby redo log中应用到数据库。

RFS(Remote File Server):备库用于接收主库传送redo数据的进程,可以直接写入到备库的归档日志,也可以写入到备库的standby redo log中进行real time apply,之后再进行备库日志归档。

MRP:该进程只针对物理备库,作用为应用从主库传递过来的Redo日志到物理备库,称为Redo Apply,即将主库LNSn进程传送的redo数据传送给备库的RFS写入standby log file或archive log之后应用到备库数据文件,如果使用SQL语句“ALTER DATABASE RECOVER MANAGED STANDBY DATABASE”启用该进程,那么MRP进程会在前台做redo apply,用户当前session不能做任何操作。如果加上DISCONNECT语句,那么MRP进程会在后台进行redo apply,发出该语句用户可以在该session做其他事情。如果加上using current logfile,则默认启用real time apply将RFS中的redo数据写入到standby redo log中同时将redo 数据应用到数据文件中。

LSP:只有逻辑备库有LSP进程。LSP进程控制应用redo数据到逻辑备库。

最大性能模式(Maximum Performance)

1)该模式是默认模式,可以保证主数据库的最高可用性;
2)保证主库运行过程中不受备库的影响,主库事务正常提交,不因备库的任何问题影响到主库的运行;
4)优点:避免了备库对主数据库的性能和可用性影响;
5)缺点:如果与主库提交的事务相关的恢复数据没有发送到备库,这些事务数据将被丢失,不能保证数据无损失;

如果不设置,数据库默认是最大性能模式,通常工作在LGWR ASYNC方式下 或 ARCH方式下,它是一种异步的,所以数据不能保证完全一致,一旦异步发送数据过程中异常,或者主库出现异常,备库会有一小部分数据损失。

最大可用模式(Maximum Availability)

1)该模式提供了仅次于“最大保护模式”的数据保护能力;
2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;
3)主库找不到合适的备库写入时,主库不会关闭,而是临时降低到“最大性能模式”模式,直到问题得到处理;

该模式只能工作在LGWR SYNC方式下。需要说明的是,即使设置了系统为最大可用模式,但是没有LGWR SYNC方式的配置支持,它会默认转为最大性能模式。

最大保护模式(Maximum Protection)
1)这种模式提供了最高级别的数据保护能力;
2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;
3)主库找不到合适的备库写入时,主库会自动关闭,防止未受保护的数据出现;
4)优点:该模式可以保证备库没有数据丢失;
5)缺点:主库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会因此受到非常大的冲击。

该模式也只能工作在LGWR SYNC方式下。需要说明的是,即使设置了系统为最大保护模式,但是没有LGWR SYNC方式的配置支持,它会默认转为最大性能模式。

ORACLE DATAGUARD参数释义相关推荐

  1. oracle dataguard详细,Oracle数据库DataGuard参数配置与参数详解

    oracle数据库Data Guard参数配置与参数详解 1. Oracle 11g Dataguard参数详解 就Oracle Data Guard来说,我们只关注如下三种参数: 1 独立于数据库角 ...

  2. oracle dataguard详解,Oracle DataGuard数据备份方案详解

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

  3. oracle dataguard延迟,Oracle DataGuard延迟应用归档归档日志

    1. 查看主库的参数设置: SQL> show parameter log_archive_dest_2 NAME TYPE VALUE ---------------------------- ...

  4. Oracle Dataguard之Real-Time Apply

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

  5. oracle不一致性关闭下次,Oracle DataGuard

    ```1.文档介绍 本实施方案主要对Oracle DataGuard实施部署作相应的说明.以便实施人员能根据当前业务特点,规划.建设符合高可用.高可靠的数据库集群系统.具体由Oracle DG环境拓扑 ...

  6. Oracle dataguard一主两备环境搭建

    Oracle dataguard一主两备环境搭建 测试环境说明: 主 库:Reahat 6.5 x64 + Oracle 11.2.0.3 x64 单机(IP:192.168.6.10  db)  D ...

  7. ORACLE Dataguard安装

    ORACLE Dataguard安装 花了一周时间,终于部署和稳定都整理好了. 拷贝到blog里, 留份记录. 也算是对大家的贡献吧. 当然这篇技术文档很大一部分归功于这位仁兄:  http://bl ...

  8. oracle logical standby,Oracle Dataguard管理命令(logical standby)

    Oracle Dataguard管理命令(logical standby) ################# ##  管理命令: ################# 1.注册日志的命令standby ...

  9. Oracle dataGuard专题:Rman通过duplicate创建standby

    rman提供了更便捷的方式来创建standby,方法就是通过duplicate命令,下面做一个详细介绍: 1. 试验环境 [oracle@gaojf orcl]$ sqlplus "/as ...

最新文章

  1. 中文微博客的热门锐推用户榜
  2. hdfs复制文件夹_一文理解HDFS
  3. 【杂谈】从学生到讲师,我如何20天里在有三AI赚3万
  4. 在数字图像处理中特征点是什么
  5. 关于SDL SDL_CreateWindowFrom和SDL_DestroyWindow第二次后无法将视频显示出来。
  6. 【转】CT中的“层“与“排“的区别
  7. 了解 XML 架构(XML与OO)
  8. arduino openmv 显示图像_6 个芯片打造复古经典计算机:215 色显示,能编程能玩小游戏...
  9. php %3cpre%3c pre%3e,PHP代码执行与命令注入
  10. excel分类_Excel小技巧61:将输入的数字显示为中文
  11. mysql索引怎么设计_mysql索引设计
  12. OpenCV-图像NaN处理
  13. 面试技巧(一)〔参加笔试、面试的技巧〕
  14. SVN服务设置提交时备注文字长度
  15. (原创)c#学习笔记10--定义类成员01--成员定义03--定义属性
  16. Bias and Variance with Mismatched Distributions
  17. java swing高仿qq聊天_GitHub - sxei/myqq: Java版SWing“高”仿QQ即时通聊天系统
  18. 运放参数的详细解释和分析-part1-输入偏置电流和输入失调电流
  19. 被华策、欢瑞等甩下,唐人影视往日荣光已成回忆?
  20. 解读文献(五)------基于阻抗控制

热门文章

  1. 法院起诉离婚怎么走程序
  2. 捣蛋鹅显示服务器已满怎么办,捣蛋鹅怎么玩
  3. android so文件不混淆_Android NDK混淆
  4. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java星光之夜香水网站的设计与开发bfmcr
  5. farpoint 小数保留4位_farpoint spread for windows forms 5怎么注册
  6. 深入分析基于Micrometer和Prometheus实现度量和监控的方案
  7. 动力学库-pinocchio总览
  8. jstl escapeXml 属性设置
  9. 算法竞赛入门经典第二版:循环结构程序设计实例与习题
  10. 更换单片机蓝牙贴片与电焊初体验(超详细)