(一)三种保护模式介绍
1.最大性能模式
这种模式保证数据库主库性能最大化,主备库之间数据是异步传输的。即,主库日志归档以后才会传输到备库,在备库上使用归档日志文件做恢复操作。
这种模式提供在不影响primary数据库性能前提下最高级别的数据保护策略。事物可以随时提交,当前primary数据库的redo数据也需要至少写入一个standby数据库,不过这种写入是不同步的。

2.最高可用模式
这种模式和“最大保护”模式差不多,正常情况下,主备库之间是同步的。当网络或备库出现故障时,不会影响到主库的宕机,主库会自动切换为“ 最大性能”模式,等待备库可用时,将归档传输到备库做恢复。
可以把最高可用模式理解为“最大保护”模式和“最大性能”模式的中间体。
这种模式提供在不影响primary数据库可用前提下最高级别的数据保护策略。其实现方式与最大保护模式类似,也是要求所有事物在提交前必须保障redo数据至少在一个standby数据库可用,不过与之不同的是,如果出现故障导致无法同时写入stangby数据库redo log,primary数据库并不会shutdown,而是自动转为最高性能模式,等standby数据库恢复正常之后,又自动转换为最高可用模式。

3.最大保护模式
这种模式主备之间数据是同步的。即主库提交commit的同时,备库会做相应的恢复。最大限度保证了数据的完整性,不允许数据的丢失。
如果主备库之间网络,或者备库出现问题会直接影响主库操作,导致主库宕机。这种模式能够确保绝无数据丢失。要实现这一步当然是有代价的,他要求所有的事物在提交前期redo不仅被写入本地的online redo log,还要同时提交到standby数据库的standby redo log,并确认redo数据至少在一个standby数据库可用(如果有多个数据库),然后才在primary数据库上提交。如果出现故障导致standby数据库不可用,那么primary数据库也会被shutdown。

注意:
最大保护模式和最高可用模式需要至少一个standby数据库redo数据被同步写入。

(二)三种保护模式参数配置
最大性能:
LGWR ASYNC NOAFFIRM

最大保护,最高可用:
LGWR SYNC AFFIRM

(三)三种保护模式转换
如何查看数据库的主备、保护模式:
主库:

SQL> select name,open_mode,database_role,protection_mode,protection_level from v$database;

NAME      OPEN_MODE            DATABASE_ROLE    PROTECTION_MODE       PROTECTION_LEVEL
--------- -------------------- ---------------- -------------------- -------------------
ADGDB READ WRITE PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

备库:

SQL> select name,open_mode,database_role,protection_mode,protection_level from v$database;

NAME      OPEN_MODE             DATABASE_ROLE     PROTECTION_MODE       PROTECTION_LEVEL
--------- -------------------- ---------------- -------------------- --------------------
ADGDB READ ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

1.转换为最高可用模式,在备库和主库上执行:

alter database set standby database to maximize availability;

2.转换为最大性能模式,在备库和主库上执行:

alter database set standby database to maximize performance;

3.转换为最大保护模式,在备库和主库上执行:

alter database set standby database to maximize protection;

例子:将DataGuard从默认的最大性能模式切换为最高可用模式

(1)备库
查询备库的保护模式:

SQL> select name,db_unique_name,open_mode,database_role,protection_mode,protection_level from v$database;

NAME      DB_UNIQUE_NAME      OPEN_MODE             DATABASE_ROLE     PROTECTION_MODE       PROTECTION_LEVEL
--------- ------------------ -------------------- ---------------- -------------------- --------------------
ADGDB adgdbstandby READ ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

修改备库的保护模式:

SQL> alter database set standby database to maximize availability;

Database altered.

再次查看备库的Dataguard保护模式:

SQL> select name,db_unique_name,open_mode,database_role,protection_mode,protection_level from v$database;

NAME      DB_UNIQUE_NAME     OPEN_MODE             DATABASE_ROLE     PROTECTION_MODE       PROTECTION_LEVEL
--------- ------------------ -------------------- ---------------- -------------------- --------------------
ADGDB adgdbstandby READ ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

(2)主库

同样的,查看主库的保护模式

SQL> select name,db_unique_name,open_mode,database_role,protection_mode,protection_level from v$database;

NAME      DB_UNIQUE_NAME    OPEN_MODE    DATABASE_ROLE    PROTECTION_MODE      PROTECTION_LEVEL
--------- ----------------- ------------ ---------------- -------------------- --------------------
ADGDB adgdb READ WRITE PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

修改主库的保护模式:

SQL> alter database set standby database to maximize availability;

Database altered.

再次确认,DataGuard的保护模式已经变为了maximum availability:

SQL> select name,db_unique_name,open_mode,database_role,protection_mode,protection_level from v$database;

NAME      DB_UNIQUE_NAME    OPEN_MODE    DATABASE_ROLE  PROTECTION_MODE       PROTECTION_LEVEL
--------- ----------------- ----------- ------------- -------------------- --------------------
ADGDB adgdb READ WRITE PRIMARY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

【完】

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

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

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

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

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

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

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

  4. Oracle Dataguard三种保护模式

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

  5. Data Guard 的三种保护模式

    官方文档链接 http://docs.oracle.com/cd/E11882_01/server.112/e41134/protection.htm#SBYDB02000 最大可用模式(Maximu ...

  6. Dataguard三种保护模式

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

  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. 修改Nginx 伪静态Rewrite规则 安装Chevereto

    Chevereto 是目前最为强大的 PHP 图床系统,通过它可部署多用户公开或私有的图片存储服务,现在 Chevereto 出了免费的版本,小伙伴可以围观一下. https://github.com ...

  2. html5 文档元素 header footer h1h2h4

    文档元素: 用于在页面的大布局, 区分各个主体和概念. 让整体清晰, 元素有语义, 进一步代替div 具体划分图示: (参考) <hgroup> <section> <n ...

  3. 远景WEBGIS平台实现客户端SHP文件加载

    远景WEBGIS平台的研发目前取得新进展,实现客户端shp文件的加载,可以不经过PC上的数据转换工具转换. 远景WEBGIS平台(RemoteGIS)是基于HTML5自主研发的新一代WEBGIS基础平 ...

  4. Google APAC----Africa 2010, Qualification Round(Problem B. Reverse Words)----Perl 解法

    原题地址链接:https://code.google.com/codejam/contest/351101/dashboard#s=p1 问题描述: Problem Given a list of s ...

  5. @WebServlet

    编写好Servlet之后,接下来要告诉Web容器有关于这个Servlet的一些信息.在Servlet 3.0中,可以使用标注(Annotation)来告知容器哪些Servlet会提供服务以及额外信息. ...

  6. Python startswith()函数 与 endswith函数

    函数:startswith() 作用:判断字符串是否以指定字符或子字符串开头一.函数说明语法:string.startswith(str, beg=0,end=len(string))       或 ...

  7. iOS设计模式 - 原型

    iOS设计模式 - 原型 原理图 说明 1. 原型模式指的是从一个已有的对象复制并创建出新的对象 2. 当一个类的实例之间存在差异,而这些差异仅是状态的若干组合,复制原型要比手工实例化更加方便 3. ...

  8. [翻译] HTKDynamicResizingCell

    HTKDynamicResizingCell https://github.com/henrytkirk/HTKDynamicResizingCell Subclassed UITableView/U ...

  9. Linux 下LNMP环境搭建_【all】

    LNMP = Linux + Nginx + Mysql + PHP 1.0 Linux环境搭建 Linux 系统安装[Redhat] 1.1. FastCGI介绍 1.什么是CGI(common g ...

  10. xss challenges平台学习

    虽然在很早之前就接触过xss,有一段时间还就着一本书研究过,但是始终没有实感,掌握的也不够系统,所以现在借着这几个平台再学习一遍 首先来玩一玩xss challenge平台 第一关:http://xs ...