DataGuard的三种保护模式
(一)三种保护模式介绍
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的三种保护模式的更多相关文章
- 聊聊Dataguard的三种保护模式实验(上)
Data Guard是Oracle高可用性HA的重要解决方案.针对不同的系统保护需求,DG提供了三种不同类型的保护模式(Protection Mode),分别为:最大保护(Maximum Protec ...
- 聊聊Dataguard的三种保护模式实验(下)
4.最大保护模式Maximum Protection 最大保护模式是DG可以提供的最高保护级别,建立在日志同步传输和确认的基础上.同样,可以使用alter database方法进行设置. SQL> ...
- DGbroker三种保护模式的切换
1.三种保护模式 – Maximum protection 在Maximum protection下, 可以保证从库和主库数据完全一样,做到zero data loss.事务同时在主从两边提交完成,才 ...
- Oracle Dataguard三种保护模式
Oracle Dataguard提供了三种数据保护模式,在此分别总结一下三种数据保护模式的特点. 1.最大保护模式1)这种模式提供了最高级别的数据保护能力:2)要求至少一个物理备库收到重做日志后,主库 ...
- Data Guard 的三种保护模式
官方文档链接 http://docs.oracle.com/cd/E11882_01/server.112/e41134/protection.htm#SBYDB02000 最大可用模式(Maximu ...
- Dataguard三种保护模式
Oracle Data Guard 提供三种高水平的数据保护模式来平衡成本.可用性.性能和事务保护.可以使用任意可用管理界面来轻松地设置这些模式.要确定适当的数据保护模式,企业需要根据用户对系统响应时 ...
- Oracle Dataguard三种保护模式概述(转)
Oracle的DataGuard技术有三种实现模式,分别是max performance.max availability.max protection这三种模式. 以下是来自Oracle文档的摘要信 ...
- 探索Oracle11gR2 之 DataGuard 三种保护模式
Oracle的DataGuard技术有三种实现模式,分别是max performance.max availability.maxprotection这三种模式. 以下是来自Oracle文档的摘要信息 ...
- 【Oracle】DG三种保护模式及切换方式
一.三种保护方式 Required Redo Transport Attributes for Data Protection Modes Maximum Availability Maximum P ...
随机推荐
- laravel开发之-网站初建
1 cmd 打开电脑命令窗口 2 目录切换到网站根目录 3 输入命令:php artisan serve 4 model 生成命令:php artisan make:model 需要生成的model名 ...
- ES6框架的搭建
1.引入traceur.js http://google.github.io/traceur-compiler/bin/traceur.js 2.将Traceur编译器用于网页 new traceu ...
- js图片跟随鼠标移动
<div id="wrapper"><img src="http://images.cnblogs.com/cnblogs_com/rain-null/ ...
- MySQL数据库(9)----从命令行获取元数据
1. mysqlshow 命令提供的信息与某些 SHOW 语句很相似,因此可以从命令行提示符获取数据库和表的信息. (i)列出服务器所管理的数据库: root@javis:~$ mysqlshow - ...
- Linux(Ubuntu16.04)下添加新用户
某些情况下,Ubuntu 使用useradd 新用户名,在home 文件夹下面看不到新创建的用户文件夹,例如: 发现找不到,spark的文件夹,因此将采用下面方式重新建立首先删除spark用户 若想给 ...
- Scala编程实战
项目概述 需求 目前大多数的分布式架构底层通信都是通过RPC实现的,RPC框架非常多,比如前我们学过的Hadoop项目的RPC通信框架,但是Hadoop在设计之初就是为了运行长达数小时的批量而设计的, ...
- C# WinForm窗体及其控件自适应各种屏幕分辨率
C# WinForm窗体及其控件自适应各种屏幕分辨率 一.说明 我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置 ...
- HBuilder设置APP状态栏
一. 前言 状态栏就是手机屏幕最顶部的区域,包括了:信号.运营商.电量等信息.通常APP都有属于自己的色调风格,为了达到整体视觉美观,通常会设置状态栏和标题栏的色调设置成一致. 图例: 二.状态栏状态 ...
- DOM介绍
什么是DOM DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构.目的其实就是为了能让js操作html元素而制定的一个规范. DOM就是由节点组成的. 解析过程 ...
- zabbix监控 linux/windows 主机tcp连接状态
更新内容:1).增加了对windows主机的tcp连接状态的监控2).修改linux主机的监控配置,使linux与windwos主机能够使用相同的模板tcp的连接状态对于监控服务器,尤其是Web服务器 ...