ORACLE DATAGUARD参数释义
有数据库问题可加微信号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参数释义相关推荐
- oracle dataguard详细,Oracle数据库DataGuard参数配置与参数详解
oracle数据库Data Guard参数配置与参数详解 1. Oracle 11g Dataguard参数详解 就Oracle Data Guard来说,我们只关注如下三种参数: 1 独立于数据库角 ...
- oracle dataguard详解,Oracle DataGuard数据备份方案详解
Oracle DataGuard是一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等. 在生产数据库的"事务一致性"时,使用生产库的物理全备份(或物理COPY)创建备 ...
- oracle dataguard延迟,Oracle DataGuard延迟应用归档归档日志
1. 查看主库的参数设置: SQL> show parameter log_archive_dest_2 NAME TYPE VALUE ---------------------------- ...
- Oracle Dataguard之Real-Time Apply
Oracle Dataguard一共支持三种模式:最大可用模式(Maximum Availability),最大性能模式(Maximum Performance),最大保护模式(Maximum Pro ...
- oracle不一致性关闭下次,Oracle DataGuard
```1.文档介绍 本实施方案主要对Oracle DataGuard实施部署作相应的说明.以便实施人员能根据当前业务特点,规划.建设符合高可用.高可靠的数据库集群系统.具体由Oracle DG环境拓扑 ...
- Oracle dataguard一主两备环境搭建
Oracle dataguard一主两备环境搭建 测试环境说明: 主 库:Reahat 6.5 x64 + Oracle 11.2.0.3 x64 单机(IP:192.168.6.10 db) D ...
- ORACLE Dataguard安装
ORACLE Dataguard安装 花了一周时间,终于部署和稳定都整理好了. 拷贝到blog里, 留份记录. 也算是对大家的贡献吧. 当然这篇技术文档很大一部分归功于这位仁兄: http://bl ...
- oracle logical standby,Oracle Dataguard管理命令(logical standby)
Oracle Dataguard管理命令(logical standby) ################# ## 管理命令: ################# 1.注册日志的命令standby ...
- Oracle dataGuard专题:Rman通过duplicate创建standby
rman提供了更便捷的方式来创建standby,方法就是通过duplicate命令,下面做一个详细介绍: 1. 试验环境 [oracle@gaojf orcl]$ sqlplus "/as ...
最新文章
- 大数据可视化技术面临的挑战及应对措施
- 'pip' 不是内部或外部命令,也不是可运行的程序
- python监控进程并实现掉线重启
- the code place where the binding is converted to final value displayed in u
- JBoss AS 7.1.0.Final“ Thunder”发布-Java EE 6 Full Profile认证!
- 世界杯后linux进化有感?
- linux安装phpunit,linux下安装phpunit
- Python中缀表达式转后缀表达式并计算
- 玩抖音,你喜欢的,都是对自身没好处的
- django学习笔记03
- python json的中文读取与中文写入
- 怎么给计算机D盘分区,C盘分区太大怎么调整分区的大小?
- window进行resize的时候ie假死(jquery插件处理)
- C predefined macros __FILE__,__LINE__,__func__
- vim编辑器替换以及全局替换
- Rabbitmq安装以及入门
- 什么游戏蓝牙耳机好?专业电竞玩家教你如何选择
- Java--花卉管理系统
- jaeger 是很么软件_JAEGER软件
- 【高通SDM660平台 Android 10.0】(10) --- Camera Sensor lib 与 Kernel Camera Probe 代码分析