【DG】Data Guard 的三种保护模式

Data Guard 的三种保护模式

官方文档链接 http://docs.oracle.com/cd/E11882_01/server.112/e41134/protection.htm#SBYDB02000

最大可用模式(Maximum Availability)

  • 这种保护模式在不影响主库可用性的前提下提供最高水平的数据保护
  • 在主库需要完成两件事,事务才会被提交
    • 恢复事务所需要的 redo 数据写入在线日志文件(online redo log)
    • 恢复事务所需要的 redo 数据写入同步备库(synchronized standby database)的备用日志文件(standby redo log),如果配置了多个备库,需要至少写到一个备库上
  • 如果主库不能将 redo 数据写入至少一个备库,则主库就像运行在最大性能模式下以保护主库的可用性,直到可以将 redo 数据流写入备库
  • 这种保护模式可以确保数据零丢失,除了某些双故障的情况,例如备库发生故障之后主库也发生故障

最大性能模式(Maximum Performance)

  • 默认的保护模式
  • 这种保护模式在不影响主库性能的前提下提供最高水平的数据保护
  • 事务生成的 redo 数据写入在线日志后事务立即提交;redo 数据也会写到一到多个备库上,相对于事务提交它是异步完成的,所以主库的性能不会被 redo 数据写入备库的延迟所影响
  • 这种保护模式提供的数据保护略逊于最大可用模式,但是对主库性能产生的影响小

最大保护模式(Maximum Protection)

  • 这种保护模式确保主库发生故障时不会有数据丢失
  • 在主库需要完成两件事,事务才会被提交
    • 恢复事务所需要的 redo 数据写入在线日志文件(online redo log)
    • 恢复事务所需要的 redo 数据写入同步备库(synchronized standby database)的备用日志文件(standby redo log),如果配置了多个备库,需要至少写到一个备库上
  • 要确保数据不会丢失,如果主库不能将 redo 数据流写入至少一个备库,主库会 shutdown,而不是继续处理事务
  • 因为最大保护模式更注重数据的保护,Oracle 建议至少配置两个备库来保护运行在最大保护模式下的主库,这样当其中一个备库发生故障时不会导致主库 shutdown

设置主库的数据保护模式

  • 1、根据需要选择一种保护模式
  • 2、确保至少一个备库满足 redo 传输条件
    • 和备库相关的 LOG_ARCHIVE_DEST_n 参数中需要包含下列 redo 传输属性,不同的保护模式的设置不同
    • 备库必须要有备用 redo
  • 3、确保已经在主库和每一个备库将数据库初始化参数 DB_UNIQUE_NAME 设置为一个唯一值
  • 4、确保已经在主库和每一个备库定义了数据库初始化参数 LOG_ARCHIVE_ONFIG,该参数包含主库和每一个备库的 DB_UNIQUE_NAME
  • 设置示例

SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG=‘DG_CONFIG=(CHICAGO,BOSTON)‘;

  • 5、设置数据保护模式

在主库执行以下语句

SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {AVAILABILITY | PERFORMANCE | PROTECTION};

  • 只有当前的数据保护模式是 MAXIMIZE AVAILABILITY 并且至少有一个同步物理备库时,才可以将一个 open 的数据库的数据保护模式设置为 MAXIMIZE PROTECTION
  • 6、确认数据运行在新的保护模式下

在主库执行以下查询SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

原文地址:https://www.cnblogs.com/jimoyu/p/12169254.html

时间: 2024-10-09 08:54:56

【DG】Data Guard 的三种保护模式的相关文章

Boss要求零数据丢失,Data Guard的三种保护模式如何选择?

公司现在越来越重视数据的灾备,部署了大量的Data Guard和Oracle GoldenGate.核心系统的数据非常重要,大boss的要求很简单就是数据零丢失. 仔细衡量Data Guard的三种保护模式,在最大可用和最大保护之间展开了激烈的讨论.下面从技术层面看看这两种保护模式的特点和区别. 零数据丢失: 在DataGuard中同步传输SYNC(synchronous transport)又称为零数据丢失.因为要等到确认事务恢复所需要的redo数据已经被写入备用数据库的磁盘上(Standby

Dataguard三种保护模式

Oracle Data Guard 提供三种高水平的数据保护模式来平衡成本.可用性.性能和事务保护.可以使用任意可用管理界面来轻松地设置这些模式.要确定适当的数据保护模式,企业需要根据用户对系统响应时间的要求来估量它们对数据保护的业务要求.下表从数据丢失风险的角度概述了各种模式的适用性. 保护模式 在出现灾难时数据丢失的风险 重做传输机制 最大保护 零数据丢失:双重故障保护 LGWR SYNC 最高可用性 零数据丢失:单故障保护 LGWR SYNC 最高性能 最小数据丢失 — 通常从 0 到几秒

DGbroker三种保护模式的切换

1.三种保护模式 – Maximum protection 在Maximum protection下, 可以保证从库和主库数据完全一样,做到zero data loss.事务同时在主从两边提交完成,才算事务完成.如果从库宕机或者网络出现问题,主从库不能通讯,主库也立即宕机.在这种方式下,具有最高的保护等级.但是这种模式对主库性能影响很大,要求高速的网络连接. – Maximum availability 在Maximum availability模式下,如果和从库的连接正常,运行方式等同Maxi

vsftpd服务程序的三种认证模式

vsftpd服务程序的三种认证模式的配置方法--匿名开放模式.本地用户模式以及虚拟用户模式.了解PAM可插拔认证模块的原理.作用以及实战配置方法,通过实战课程进一步继续学习SELinux服务的配置方法,扩展学习TFTP简单文件传输协议理论及实操课程 文件传输协议 一般来讲,人们将电脑联网的首要需求就是获取资料,而文件传输是其中非常重要的方式之一,21世纪的互联网是由几千万台个人电脑.工作站.小型机.大型机等等不同型号.架构的物理设备共同组成的,即便是个人电脑上也可能会装有诸如Linux.Wind

云计算三种服务模式SaaS、PaaS和IaaS及其之间关系(顺带CaaS、MaaS)

云计算架构图 很明显,这五者之间主要的区别在于第一个单词,而aaS都是as-a-service(即服务)的意思,这五个模式都是近年来兴起的,且这五者都是云计算的落地产品,所以我们先来了解一下云计算是什么. 1.云计算是什么?云计算(cloud computing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.云是网络.互联网的一种比喻说法.云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸.预测气候变化和市

php的public、protected、private三种访问控制模式的区别 self,parent

php的public.protected.private三种访问控制模式的区别 public: 公有类型 在子类中可以通过self::var调用public方法或属性,parent::method调用父类方法 在实例中可以能过$obj->var 来调用 public类型的方法或属性 protected: 受保护类型        在子类中可以通过self::var调用protected方法或属性,parent::method调用父类方法 在实例中不能通过$obj->var 来调用  prote

初识云计算的三种服务模式 (IaaS SaaS PaaS)

最近公司在使用其他云服务的同时,要封装自己的云服务,下面作为开发产品前的热身,来了解云计算中的三种服务模式,笔者也是从网络上查找,进行综合总结.请拍.. 三种服务模式 根据现在最常用,也就是比较权威的NIST(National Institute of Standard and Technology)美国国家标准技术研究院定义,云计算主要分为三种服务模式,而且这三层的分法重要是从用户体验的角度出发的: IaaS IaaS全拼是Infrastructure as a Service,基础设置即服务

EF3:Entity Framework三种开发模式实现数据访问

前言 Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发流程大相径庭,开发体验完全不一样.三种开发模式各有优缺点,对于程序员没有哪种模式最好,只有哪种模式更适合.接下来我将分别使用这三种开发模式实现同一数据库模型的数据持久化功能.希望通过实践能帮助你找到更适合你的开发模式 Database First Database First开发模式指以数据库设计为基础,并根据数据库自动生成实体数据模型,从而驱动整个开发流程

php中的public、protected、private三种访问控制模式及self和parent的区别(转)

php的public.protected.private三种访问控制模式的区别 public: 公有类型 在子类中可以通过self::var调用public方法或属性,parent::method调用父类方法 在实例中可以能过$obj->var 来调用 public类型的方法或属性 protected: 受保护类型 在子类中可以通过self::var调用protected方法或属性,parent::method调用父类方法 在实例中不能通过$obj->var 来调用 protected类型的方