[Oracle] Data Guard 之 三种保护模式介绍

Data Guard提供如下三种数据保护模式:

1)最高保护模式(Maximum Protection)
这里的”最大保护“是指最大限度的保护数据不丢失,也就是至少有一个standby和primary保持实时同步,但这样做的代价很大,即当一个事务提交时,不但要写到primary段的online redo log,还有写到至少一个standby的standby redo log。这样会有一个严重的问题,就是当standby出现故障或网络故障,导致日志无法同步时,primary数据库会被shutdown,这在生产系统中是不可接受的,因此这种模式很少用。

2)最高性能模式(Maximum Performance)
最高性能正好和最高保护相反,当事务提交时,只要写入到primary的online redo log即可,primary几乎不受影响。然后再把redo同步到standby中,这样就无法保证primary和standby实时同步。这种模式在实际应用中比较常见,毕竟primary不受影响是最重要的,如果出现standby落后primary太多,DBA可以手工介入,在standby端apply redo。

3)最高可用性模式(Maximum Availability)
最高可用性模式介于前两者之间,在正常情况下,它和最高保护模式一样,但一旦standby出现故障,就立即切换成最高性能模式,primary不会shutdown。如果实际应用该模式,得关注一下实时应用时对primary的性能影响。

无论使用哪种模式,都要使用LOG_ARCHIVE_DEST_n来配置,上表显示它们之间的关系。可以看出,最大保护和最高可用性的配置一模一样(因为最高可用性在正常情况下就是最大保护):必须使用LGWR进程传输Redo,网络传输模式必须是sync,磁盘写选项AFFIRM,必须配置standby redo log。

而最大性能模式比较灵活,即可以用LGWR,也可以用ARCH进程传输redo,网络即可以sync也可以async,磁盘IO写即可以AFFIRM也可以NOAFFIRM,standby redo log也可有可无。

(0)

相关推荐

  • [Oracle] Data Guard 之 三种保护模式介绍

    Data Guard提供如下三种数据保护模式: 1)最高保护模式(Maximum Protection)这里的"最大保护"是指最大限度的保护数据不丢失,也就是至少有一个standby和primary保持实时同步,但这样做的代价很大,即当一个事务提交时,不但要写到primary段的online redo log,还有写到至少一个standby的standby redo log.这样会有一个严重的问题,就是当standby出现故障或网络故障,导致日志无法同步时,primary数据库会被sh

  • Oracle数据库 DGbroker三种保护模式的切换

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

  • [Oracle] Data Guard 之 Redo传输详解

    Data Guard主要提供两个服务:1)Redo传输服务:即把Primay端的Redo日志传输到一个或多个Standby目的地.2)Redo应用服务:即在Standby端应用从Primay端传输过来的Redo日志.本文先讲讲其中的Redo传输服务. 1.使用ARCn传输Redo日志默认情况下采用ARCn传输redo日志,不过只有在最高性能模式下才可以使用ARCn(具体可参考<[Oracle] Data Guard 之 三种保护模式介绍>),采用ARCH传输Redo日志的示意图如下:其大致过程

  • SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式

    如何图形界面下修改恢复模式 找到你想修改的数据库 右键 > 属性  > 左侧 选项既可看到 1.Simple 简单恢复模式, Simple模式的旧称叫"Checkpoint with truncate log",其实这个名字更形象,在Simple模式下,SQL Server会在每次checkpoint或backup之后自动截断log,也就是丢弃所有的inactive log records,仅保留用于实例启动时自动发生的instance recovery所需的少量log,这

  • python 开发的三种运行模式详细介绍

    Python 三种运行模式 Python作为一门脚本语言,使用的范围很广.有的同学用来算法开发,有的用来验证逻辑,还有的作为胶水语言,用它来粘合整个系统的流程.不管怎么说,怎么使用python既取决于你自己的业务场景,也取决于你自己的python应用能力.就我个人而言,我觉得python作为既可以用来进行业务的开发,也可以进行产品原型的开发.一般来说,python的运行主要下面这三种模式. 1.单循环模式 单循环模式使用的最多,也最简单,当然也最稳定.为什么呢,因为单循环本来代码就写的很少,出错

  • 分享ajax的三种解析模式

    一.Ajax中的JSON格式 html代码: <html> <body> <input type="button" value="Ajax" id="btn"> <script> var btn = document.getElementById("btn"); btn.onclick = function(){ var xhr = getXhr(); xhr.open(&quo

  • 浅谈Tomcat三种运行模式

    tomcat的运行模式有3种 一.bio(blocking I/O) 即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包).是基于JAVA的HTTP/1.1连接器,Tomcat7以下版本在默认情况下是以bio模式运行的.一般而言,bio模式是三种运行模式中性能最低的一种.我们可以通过Tomcat Manager来查看服务器的当前状态.(Tomcat7 或以下,在 Linux 系统中默认使用这种方式) 二.nio(new I/O) 是Java SE

  • 深入理解java三种工厂模式

    适用场合: 7.3 工厂模式的适用场合 创建新对象最简单的办法是使用new关键字和具体类.只有在某些场合下,创建和维护对象工厂所带来的额外复杂性才是物有所值.本节概括了这些场合. 7.3.1 动态实现 如果需要像前面自行车的例子一样,创建一些用不同方式实现同一接口的对象,那么可以使用一个工厂方法或简单工厂对象来简化选择实现的过程.这种选择可以是明确进行的也可以是隐含的.前者如自行车那个例子,顾客可以选择需要的自行车型号:而下一节所讲的XHR工厂那个例子则属于后者,该例中所返回的连接对象的类型取决

  • 详解Java 中的三种代理模式

    代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法. 举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给他的代理

  • oracle 使用rownum的三种分页方式

    rownum是Oracle数据库中的一个特有关键字,返回的是一个数字代表记录的行号. 基础知识:rownum只能做<或者<=的条件查询,如果要rownum进行51到100这样的范围判断,需要先查询出每一行的rownum,再用那个序号做判断 获取51到100的数据 三种分页的写法: 1.使用minus,原理就是查询出前100行的数据 减去 查询出前50行的数据 select * from DATA_TABLE_SQL where rownum<=100 minus select * fro

随机推荐