Oracle Data Guard 提供三种高水平的数据保护模式来平衡成本、可用性、性能和事务保护。可以使用任意可用管理界面来轻松地设置这些模式。要确定适当的数据保护模式,企业需要根据用户对系统响应时间的要求来估量它们对数据保护的业务要求。下表从数据丢失风险的角度概述了各种模式的适用性。

保护模式

在出现灾难时数据丢失的风险

重做传输机制

最大保护

零数据丢失;双重故障保护

LGWR SYNC

最高可用性

零数据丢失;单故障保护

LGWR SYNC

最高性能

最小数据丢失 — 通常从 0 到几秒

LGWR SYNC /ASYNC 或 ARCH SYNC

10g中,物理Standby和逻辑Standby都支持这三种模式。

可以在V$DATABASE中查看到DataGuard的保护模式

SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$DATABASE;

1.1 最大保护模式:

最大保护模式为主数据库提供了最高水平的数据保护,从而确保了一个全面的零数据丢失灾难恢复解决方案。当在最大保护模式下运行时,重做记录由日志写入进程从主数据库同步地传输到备用数据库,并且直到确认事务数据在至少一个备用服务器上的磁盘上可用时,才在主数据库上提交事务。这种模式必须配置至少两个备用数据库,从而提供双重故障保护。当最后参与的备用数据库不可用时,主数据库上的处理将停止。这就确保了当主数据库与其所有备用数据库失去联系时,不会丢失事务。

该模式下,主库和备库完全一致,在主库事务提交前,备库必须收到全部日志数据,如果因网络等原因导致日志无法传送时,将引起严重的性能问题,导致主节点宕机。此时备库不能正常关闭,必须保持和主库一致的模式,如果强行采用abort方式关闭备用数据库,可能引发主库挂起。推荐配置至少2个备库,因为如果其中一个不能从主库接收日志,主库还可继续运行。要保证备库的监听正常,保证主库到备库的连接正常。

1.2 最大可用模式:

10g时该模式利用LNSn进程传送日志,备库必须添加Standby Redo Log。最高可用性模式拥有仅次于主数据库数据可用性,并提供零数据丢失和防止单组件故障。如同最大保护模式一样,重做数据由日志写入进程从主数据库同步地传输到备用数据库,直到确认事务数据在备用服务器的磁盘上可用时,事务才在主数据库上完成。不过,在这种模式下(与最大保护模式不同),如果最后参与的备用数据库变为不可用 — 例如由于网络连接问题,处理将在主数据库上继续进行。备用数据库与主数据库相比,可能暂时落在后面,但当它再次变为可用时,备用数据库将自动同步,而不会丢失数据。由于同步重做传输,这种保护模式可潜在地影响响应时间和吞吐量。可以通过配置一个低延迟网络,并为它分配足够应付高峰事务负载的带宽来将这种影响减到最小。最高可用性模式适用于想要在生产站点上出现严重中断时(假定没有其他故障)确保获得零数据丢失保护,但不想让生产数据库受网络/备用服务器故障影响的企业。与最大保护模式一样,采用LGWR方式传送,并且必须有standby redo log。为防止备用库发生网络故障,最好设置reopen参数,即使出现网络故障,也不会引发主库挂起,这时主库将从最大可用模式切换到最大性能模式。该模式下,允许数据分歧,允许异步传送。正常情况运行在最大保护模式下,在主库和备库之间网络断开或连接不正常时,自动切换到最大性能模式,主节点的操作继续,但这种自动切换是否及时是否高效,当前行内并无实际检验,因此在网络不好的情况下,也可能会有较大的性能影响。

1.3 最大性能模式:

最高性能模式是默认的保护模式。它与最高可用性模式相比,提供了稍微少一些的主数据库数据保护,但提供了更高的性能。在这种模式下,当主数据库处理事务时,重做数据由日志写入进程异步传输到备用数据库上。另外,也可以将主数据库上的归档进程配置为在这种模式下传输重做数据。在任何情况下,均先完成主数据库上的写操作,主数据库的提交操作不等待备用数据库确认接收。如果任意备用目标数据库变为不可用,则处理将在主数据库上继续进行,这对性能只有很小的影响或没有影响。不过在这种情况下,数据库告警日志将记录错误消息,并可以通过 Enterprise Manager 相应地设置告警。在主数据库出现故障的情况下,可能有一些在主数据库上提交了的事务没有传输到备用数据库中。如果网络有足够的吞吐量来跟上重做流量高峰,则丢失的事务将非常少或者为零。当主数据库上的可用性和性能比丢失少量数据的风险更重要时,应该使用最高性能模式。这种模式还适合于 WAN 上的 Data Guard 部署,在 WAN 中,网络的内在延迟可能限制同步重做传输的适用性。在创建Data Guard时,默认创建的是最大性能模式,需要使用其他模式时必须再进行切换。该模式下,利用ARCn进程异步传送日志,无数据同步检查,可能丢失数据,但是能获得主库的最佳性能。

1.3.1  使用推荐

推荐使用最大性能模式。

1.4 其他介绍

1.4.1  Real-Time Apply和Redo Apply

Redo信息传送到备库后,默认是Redo Apply方式,在最大保护模式下,确认redo信息传送到备机后主库提交,但并非立即在备库启用,而是等待主库发生redo日志切换后再在备库应用。最大性能模式下发生redo日志切换后,ARCn才将该日志传送至备库应用。在这种方式下允许设置日志应用的延迟时间间隔(delay)。当备库切换为生产前,需要首先应用已传送到备库但尚未被应用的redo(除非强制切换)。Real-TimeApply方式要求必须有Standby log file(默认最大性能模式下不必创建),此时Redo信息传送到备库后被立即应用,此模式下如果有delay设置将被忽略。该方式可以提高备库转为生产的速度。

对Redo Apply增加数据文件后,需要切换日志,备用数据库才能产生文件。

对Real-TimeApply增加数据文件后,备用数据库很快就能产生文件。

推荐在无delay需求的情况下,使用Real-Time Apply方式;在有delay需求的情况下,使用Redo Apply方式。

在物理备用数据库上查看,是否real-time applyredo log

SQL> select  recovery_mode from v$archive_dest_status;

1.4.2  Delay的设置及确认

在一些情况下,会想在重做数据从主站点接收到它应用到备数据库的时间之间创建一个时间延迟。允许设置DELAY 指定时间间隔(分钟)来保护损坏或错误的数据的应用到备数据库。设置后,重做数据传输到备数据库不会有延迟,指定的时间延迟从重做数据完整地归档后开始。

使用LOG_ARCHIVE_DEST_n 初始化参数的DELAY=minutes 属性,在主和备数据库上设置时间延迟来延迟应用归档重做日志文件到备数据库。默认没有时间延迟。如果指定DELAY 而没有指定一个值,默认的延迟间隔是30 分钟。

取消时间延迟:

对于物理备数据库,使用 RECOVER MANAGED STANDBY DATABASE 字句的NODELAY关键词:

ALTERDATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;

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

  1. Oracle Dataguard三种保护模式

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

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

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

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

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

  4. DataGuard的三种保护模式

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

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

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

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

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

  7. Data Guard 的三种保护模式

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

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

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

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

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

随机推荐

  1. 无废话网页重构系列——(6)HTML主干结构:站点(site)、页面(page)

    本文作者:大象本文地址:http://www.cnblogs.com/daxiang/p/4653546.html 在分析和切出设计稿,以及部署项目目录文件后,开始写HTML Demo. 首先,弄出H ...

  2. error C2061: syntax error : identifier '__RPC__out_xcount_part'

    朋友遇到的 把dx, windows sdk ,vs2010照着成功人士的配置好 应该就可以了

  3. PHP输出中文乱码的问题

    用echo输出的中文显示成乱码, 其实应该是各种服务器脚本都会遇到这个问题, 根本还是编码问题, 一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8 <meta http-equi ...

  4. Core Java Interview Question Answer

    This is a new series of sharing core Java interview question and answer on Finance domain and mostly ...

  5. 暑假学习日记:Splay树

    从昨天开始我就想学这个伸展树了,今天花了一个上午2个多小时加下午2个多小时,学习了一下伸展树(Splay树),学习的时候主要是看别人博客啦~发现下面这个博客挺不错的http://zakir.is-pr ...

  6. C#图片上写文字

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Dr ...

  7. Asp.net 上传图片添加半透明图片或者文字水印的方法

    主要用到System.Drawing 命名空间下的相关类,如Brush.Image.Bitmap.Graphics等等类 Image类可以从图片文件创建Image的实例,Bitmap可以从文件也可以从 ...

  8. HDU 1882 Strange Billboard(位运算)

    题目链接 题意 : 给你一个矩阵,有黑有白,翻转一个块可以让上下左右都翻转过来,问最少翻转多少次能让矩阵变为全白. 思路 : 我们从第一行开始枚举要翻转的状态,最多可以枚举到2的16次方,因为你只要第 ...

  9. SpringMVC学习总结(一)——SpringMVC入门

    摘要: Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求 ...

  10. c语言中static的用法

    1.static定义变量: 1).局部: a.静态局部变量在函数内部定义,生存期为整个源代码,但作用域与自动变量相同,只能在定义的函数里面使用.退出该函数后,虽然此变量还存在内存中,但不能使用. b. ...