首先,DG(Data Guard,数据卫士)不是一个备份恢复的工具,然而,DG却拥有备份的功能,在物理DG下它可以和主库一模一样,但是它存在的目的并不仅仅是为了备份恢复数据,应该说它的存在是为了确保企业数据的高可用性,数据保护以及灾难恢复。DBA可以通过将一些操作(例如查询报表)转移到备库执行的方式来减小主库的压力,构建高可用的企业数据库应用环境。

在DG环境中,至少有两个数据库,一个处于OPEN状态对外提供服务,这个数据库叫作主库(Primary Database)。第二个处于恢复状态,叫作备库(Standby Database)。在通常情况下,主库对外提供服务,用户在主库上进行操作,操作被记录在联机日志和归档日志中,这些日志通过网络传递给备库,然后在备库上被应用,从而实现主库和备库的数据同步。Oracle对这一过程进一步地优化设计,使得日志的传递、恢复工作更加自动化、智能化,并且提供一系列参数和命令简化了DBA工作。如果软硬件升级,那么可以把备库切换为主库继续对外服务,这样既减少了服务停止时间,并且数据不会丢失。如果异常原因导致主库不可用,那么也可以把备库强制切换为主库继续对外服务,这时数据损失都和配置的数据保护级别有关系。所以,Primary和Standby只是一个角色概念,并不固定在某个数据库中。

每个技术都有其优缺点,下面来看看DG有哪些优缺点。

DG的优点主要有以下几点内容:

① 灾难恢复及高可用性。

② 全面的数据保护。

③ 有效利用系统资源。

④ 在高可用及高性能之间更加灵活的平衡机制。

⑤ 故障自动检查及解决方案。

⑥ 集中的、易用的管理模式。

⑦ 自动化的角色转换。

DG的缺点主要有以下几点内容:

① 由于传输整个日志文件,所以,需要较高的网络传输带宽。

② 在Oracle 11g之前的物理备库虽然可以以只读方式打开,然后执行查询、报表等操作,但需要停止应用日志,这将使目标库与源数据不能保持同步,如果在此期间源数据库发生故障,那么将延长切换的时间。从Oracle 11g开始,ADG可以在数据库打开的情况下应用日志,这极大地提高了DG的应用范围。

③ 逻辑备库不能支持某些特定的数据对象和数据类型。

④ 不支持双向复制,所以,无法应用于信息集成的场合。

⑤ 只能复制整个数据库,不能选择某个SCHEMA或表空间或表进行单独复制。

⑥ 不支持异构的系统环境,需要相同的操作系统版本和数据库版本(Oracle 11g支持部分异构平台)。

 

DG 与 ADG 的对比:

DG 只能用Real-Time Apply

什么是real-Time Apply ,先看一下主备库日志的应用。

 

解释:

默认备库只对 archived redo log 做 MRP 日志应用。启用real-Time Apply(实时应用),备库可以对 standby redolog 进行日志应用。 

需要备库创建 standby redolog。 

再来看看ADG,ADG主要应用在实时Oracle数据保护,可用性和灾难恢复

英文是这么解释:虽然很多人看英文一脸懵逼,但是为了还原 最原始的 解释 还是 把英文给家看看,

Data Guard Architecture Overview

Data Guard provides the management, monitoring, and automation software to create and maintain one or more synchronized copies of a production database to protect Oracle data from failures, disasters, human error, and data corruptions while providing high availability for mission critical applications. Data Guard is included with Oracle Database Enterprise Edition.

Active Data Guard Functionality

Active Data Guard is an option license for Oracle Database Enterprise Edition. Active Data Guard enables advanced capabilities that that extend basic Data Guard functionality. These include:

  • Real-Time Query  - offload read-only workloads to an up-to-date standby database

  • Automatic Block Repair  - automatic repair of physical corruption transparent to the user

  • Far Sync  - zero data loss protection across any distance

  • Standby Block Change Tracking  - enable incremental backups on an active standby

  • Active Data Guard Rolling Upgrade  - make it simple to reduce planned downtime

  • Global Database Services  - load balancing and service management across replicated databases. See  Global Data Services

  • Application Continuity  - make outages transparent to users. See  Application Continuity

翻译如下:

Data Guard架构概述

Data Guard提供管理,监视和自动化软件,用于创建和维护生产数据库的一个或多个同步副本,以保护Oracle数据免受故障,灾难,人为错误和数据损坏,同时为关键任务应用程序提供高可用性。 Data Guard包含在Oracle数据库企业版中。

主动数据保护功能

Active Data Guard是Oracle数据库企业版的选件许可证。 Active Data Guard支持扩展基本Data Guard功能的高级功能。 这些包括:

  • 实时查询  - 负责将主库最新的数据刷新到物理备库

  • 自动块修复  - 自动修复对坏的数据块进行修复

  • 远程同步  - 任何情况下的主备同步,实现零数据丢失保护。

  • 备库开启块跟踪  - 在备库开启块跟踪,实现备用数据库上启用增量备份。

  • Active Data Guard滚动升级  - 简化计划停机时间

  • 全局数据库服务  - 跨复制数据库的负载平衡和服务管理。 请参阅 全球数据服务

  • 应用程序连续性  - 使中断对用户透明。 请参阅 应用程序连续性 ,这一点  我也一脸懵逼,官方文档给的解释翻译如下:

  • 应用程序连续性

  • 应用程序连续性(AC)是Oracle Real Application Clusters(RAC),Oracle RAC One Node和Oracle Active Data Guard选项的一项功能,可通过在可恢复的中断后恢复正在进行的数据库会话来屏蔽最终用户和应用程序的中断。 应用程序连续性通过在中断后恢复受影响的数据库会话的正在进行的工作来屏蔽最终用户和应用程序的中断。 应用程序连续性在应用程序下执行此恢复,以便中断在应用程序中显示为略微延迟的执行。
    应用程序连续性用于在处理意外中断和计划维护时改善用户体验。 应用程序连续性增强了使用Oracle数据库的系统和应用程序的容错能力。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐