官方文档链接 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;

Data Guard 的三种保护模式的更多相关文章

  1. 聊聊Dataguard的三种保护模式实验(上)

    Data Guard是Oracle高可用性HA的重要解决方案.针对不同的系统保护需求,DG提供了三种不同类型的保护模式(Protection Mode),分别为:最大保护(Maximum Protec ...

  2. Dataguard三种保护模式

    Oracle Data Guard 提供三种高水平的数据保护模式来平衡成本.可用性.性能和事务保护.可以使用任意可用管理界面来轻松地设置这些模式.要确定适当的数据保护模式,企业需要根据用户对系统响应时 ...

  3. DGbroker三种保护模式的切换

    1.三种保护模式 – Maximum protection 在Maximum protection下, 可以保证从库和主库数据完全一样,做到zero data loss.事务同时在主从两边提交完成,才 ...

  4. DataGuard的三种保护模式

    (一)三种保护模式介绍1.最大性能模式这种模式保证数据库主库性能最大化,主备库之间数据是异步传输的.即,主备日志归档以后才会传输到备库,在备库上使用归档日志文件做恢复操作.这种模式提供在不影响prim ...

  5. Oracle Dataguard三种保护模式

    Oracle Dataguard提供了三种数据保护模式,在此分别总结一下三种数据保护模式的特点. 1.最大保护模式1)这种模式提供了最高级别的数据保护能力:2)要求至少一个物理备库收到重做日志后,主库 ...

  6. 聊聊Dataguard的三种保护模式实验(下)

    4.最大保护模式Maximum Protection 最大保护模式是DG可以提供的最高保护级别,建立在日志同步传输和确认的基础上.同样,可以使用alter database方法进行设置. SQL> ...

  7. Oracle Dataguard三种保护模式概述(转)

    Oracle的DataGuard技术有三种实现模式,分别是max performance.max availability.max protection这三种模式. 以下是来自Oracle文档的摘要信 ...

  8. 探索Oracle11gR2 之 DataGuard 三种保护模式

    Oracle的DataGuard技术有三种实现模式,分别是max performance.max availability.maxprotection这三种模式. 以下是来自Oracle文档的摘要信息 ...

  9. 【Oracle】DG三种保护模式及切换方式

    一.三种保护方式 Required Redo Transport Attributes for Data Protection Modes Maximum Availability Maximum P ...

随机推荐

  1. jQuery图片上传前先在本地预览(不经过后端处理)

    前段时间遇到一个问题,前端想实现图片上传预览(不经过后端PHP或JAVA处理),用户点击file按钮上传文件,点击确定马上就能看到预览的效果,但在实现的时候无论怎样都取不到file上图片的真实路径,得 ...

  2. redis多数据库操作

    redis下,数据库是由一个整数索引标识,而不是由一个数据库名称.默认情况下,一个客户端连接到数据库0. redis配置文件中下面的参数来控制数据库总数: databases 16   [root@M ...

  3. 成熟的C#网络通信框架介绍——ESFramework通信框架

    (转自:http://www.cnblogs.com/zhuweisky/archive/2010/08/12/1798211.html) ESFramework通信框架是一套性能卓越.稳定可靠.强大 ...

  4. CSS3特效----制作3D旋转导航

    大致思路:首先给 three-d-box 设置一个 transition是不可少的 然后每个 a 标签里面有两个 span 一个叫 font 一个叫 back,默认状态下 font 旋转0度,也就是没 ...

  5. hdu3652 B-number 数位DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意就是求区间内能被13整除并且包含”13“的数字的个数 感觉是比较中等的数位DP题目 我用的记 ...

  6. Redis学习-SortedSet

    Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联, ...

  7. 当KDS晶振遇上爱普生晶振国内生产厂家该如何抉择?

    当KDS晶振遇上爱普生晶振国内生产厂家该如何抉择?       全球做晶振行业的公司有很多,单说深圳一个城市就有几十上百家正规的晶振厂家,深圳市金洛电子就是其中之一.我们不光代理日本和台湾多家排得上名 ...

  8. 企业账号打包如何通过HTML页面打开

    企业账号打包后 Plist文件加入前缀 href="itms-services://?action=download-manifest&url= Plist文件在服务器中的地址为:h ...

  9. OpenStack(企业私有云)万里长征第二步——使用Fuel部署

    一.前言 最近一直在使用DevStack来安装OpenStack,注意一直二字,部署了一遍又一遍,操作系统怕是安装了不下上百次,有时是为了验证新的方案,有时是安装出错,还有时是运行过程中出错.总之是碰 ...

  10. countDownLatch和cyclicBarrier

    < Effecit In Java >说过,从java 1.5发现版本开始, 就不建议使用wait和notify,它们使用比较困难,可以使用更高级并发工具来替代. 图一所说的同步器是指那些 ...