• 博客访问: 93401
  • 博文数量: 233
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-31 15:11
  • 认证徽章:
个人简介

Oracle DBA。涉及行业包括电力、交通、医疗。 励志从做技术提升为技术管理人才。 希望和广大的数据库同仁交流切磋。

文章分类

全部博文(233)

文章存档

2018年(80)

2017年(153)

我的朋友

分类: Oracle

2017-04-14 09:52:48

原文地址:Oracle Data Guard 介绍 作者:pxbibm

Oracle Data Guard 确保企业数据的高可用性、数据保护以及灾难恢复。Data Guard 提供
了一套全面的服务来创建、维护、管理和监控一个或多个备数据库,使得生产数据
库从灾难和数据损坏中得以幸存。Data Guard 维护这些备数据库作为生产数据库的事务一致
性拷贝。然后,如果生产数据库因为计划的或计划外的中断而变得不可用。Data Guard 能切
换任何备数据为生产角色,从而最小化中断引起的宕机时间。Data Guard 能与传统的备份、
恢复和cluster 技术一起使用,以提供高级别的数据保护和数据可用性。
使用 Data Guard,管理员能通过将资源密集的备份和报表操作转移到备系统上,来提高
生产数据库的性能。
Data Guard在11G中有了很大的改进,最典型的两个新特性就是Active Data Guard和Advanced Compression引入。
Active Data Guard技术:oracle 10g的Physical Standby节点在进行Redo Apply过程中,是不能够打开数据库读取数据的。
如果需要进行读取,则必须先将其终止Apply过程,才能支持读取。Active Data Guard特性就是支持Standby节点在Apply的同时支持只读数据库。
Advanced Compression高级压缩技术:远程灾备使用Data Guard的一种重要瓶颈就是传输带宽限制。
所有的Redo Log数据都要通过Primary与Standby之间的连接都是通过Oracle Net 连进行传递的,Redo Log随着业务的增加而加大。
Advanced Compression可以将Redo Log进行一定程度压缩传递。
1.1 Data Guard 配置
Data Guard 配置包含一个生产数据库和一个或更多备数据库。在Data Guard 配置中的
数据库可以通过Oracle Net 连接并可以分布在不同地理位置。数据库所处位置是没有限制
的,只要它们能互相通讯。
你能使用 SQL 命令行工具或Data Guard broker 工具来管理主和备数据库,包括命令行
工具(DGMGRL)和在Oracle 企业管理器中集成的图形化用户工具。
1.1.1 主数据库
Data Guard 配置包含一个生产数据库,也称为主数据库,作为主角。这是大多数你的应
用访问的数据库。
主数据库能是单实例 Oracle 数据库或Oracle Real Application Clusters 数据库。
1.1.2 备数据库
备数据库是主数据库的一个事务一致性拷贝。使用主数据库的备份拷贝,你能创建最
多九个备数据库,并将其合并到一个Data Guard 配置中。一旦创建,Data Guard 自动维护每
个备数据库,从主数据库传送重做数据然后应用重做到备数据库。
类似于主数据库,备数据库也可以是单实例 Oracle 数据库或Oracle Real Application
Clusters 数据库。
备数据库可以是物理备数据库或逻辑备数据库:
1.物理备数据库
通过基于块对块的与主数据库同样的磁盘数据库结构,提供主数据库的完全一致
的物理拷贝。数据库方案,包括索引都是相同的。物理备数据库与主数据库保持同步,
通过重做应用,恢复从主数据库收到的重做数据并将重做应用到物理备数据库。
除了灾难恢复,物理备数据库只能在有限的范围内用于业务。
2.逻辑备数据库
包含与生产数据库同样的逻辑信息,尽管数据的物理组织和结构可以是不同的。
逻辑备数据库通过SQL 应用与主数据库保持同步,其将从主数据库收到的重做中的数
据转换成SQL 语句,然后在备数据库上执行SQL 语句。
逻辑备数据库能用于灾难恢复需求以外的业务目的。这允许用户在任何时间访问
逻辑备数据库,进行查询和报表。同时,使用逻辑备数据库,你能升级Oracle 数据库
软件和补丁集而几乎没有宕机时间。这样,逻辑备数据库能并发用于数据保护、报表、
和数据库升级。
1.1.3 配置举例
图 1-1 显示典型的Data Guard 配置,包含一个主数据库,传送重做数据到一个备数据
库。备数据库异地于主数据库以用于灾难恢复和备份操作。你能配置备数据库与主数据库在
同一位置。然而,为了灾难恢复的目的,Oracle 建议你配置备数据库在异地位置。
图 1-1 显示典型的Data Guard 配置,在其中重做被应用到备数据库的备重做日志文件
中。

1.2 Data Guard 服务
下面解释了 Data Guard 如何管理重做数据的传送、重做数据的应用、以及更改数据库角色:
1.重做传输服务
控制从生产数据自动传输重做数据到一个或更多归档的目的地。
2. 日志应用服务
在备数据库上应用重做数据,与主数据库维持事务同步。重做数据能从归档重做日
志文件,或者允许实时应用,当备重做日志写满时直接从其中应用,而不需要将
重做数据首先归档到备数据库。
3.角色转换
使用切换或故障转移操作时,从备数据库更改数据的角色到主数据库,或者从主数据
库到备数据库。
1.2.1 重做传输服务
重做传输服务控制重做数据从生产数据库自动传输到一个或更多归档的目的地。重做传
输服务执行下述任务:
1.从主数据库传送重做数据到配置的备数据库系统中
2.管理解决归档重做日志文件由于网络故障中断的过程
3.强制数据库保护模式
4.自动探测在备系统上丢失或损坏的归档重做日志文件,并且自动从主数据库或其
它备数据库检索替代的归档重做日志文件
1.2.2 日志应用服务
从主数据库传送的重做数据写到备系统上的备重做日志文件中,如果配置了,然后再
归档到归档重做日志文件。日志应用服务自动应用备数据库上的重做数据,以维持与主数据
库的一致性。其同时也允许对数据的只读访问。
物理与逻辑备数据库的主要区别是日志应用服务应用归档重做数据的方式:
1.对于物理备数据库,Data Guard 使用重做应用技术,使用Oracle 数据库的标准恢
复技术在备数据库上应用重做数据,如图1-2 所示。

2.对于逻辑备数据库,Data Guard 使用SQL 应用技术,首先将收到的重做数据转换
为SQL 语句,然后在逻辑备数据库执行生成的SQL 语句,如图1-3 所示。

1.2.3 角色转换
Oracle 数据库操作在两种角色之一:主或备。使用Data Guard,你能使用切换或故障
转移操作更改数据库的角色。
切换是在主数据库与其备数据库之一进行的角色反转。切换确保不丢失数据。这是对于
主系统计划维护的典型操作。在切换期间,主数据库转换到备角色,备数据库转换到主角色。
转换发生不需要重建任何数据库。
故障转移是当主数据库不可用时。故障转移只有在主数据库的灾难故障的情况下执行,
并且故障转移导致备数据库转换到主角色。数据库管理员能配置Data Guard 以确保不丢失
数据。
在本文档中描述的角色转换是使用 SQL 语句手工执行。你也能使用Oracle Data Guard
broker 来简化角色转换,并使用Oracle 企业管理器或DGMGRL 命令行界面来自动化故障
转移。
1.3 Data Guard Broker
Data Guard Broker 是一个分布式的管理构架,用于自动化Data Guard 配置的创建、
维护、和监控。你能使用Oracle Enterprise Manager 图形化用户界面(GUI)或Data Guard
命令行界面(DGMGRL)来:
1. 创建和允许 Data Guard 配置,包括设置重做传输服务和日志应用服务
2. 从配置中的任何系统管理整个 Data Guard 配置
3. 管理和监控包含 Real Application Clusters 主或备数据库的Data Guard 配置
4. 通过允许你使用 Oracle 企业管理器中的单次点击或在DGMGRL 命令行界面中的
单条命令简化切换和故障转移
5. 当主数据库变得不可用时允许快速启动故障转移来自动转移故障。当允许快速启
动故障转移时,由Data Guard broker 决定是否需要故障转移,并自动启动故障转
移到指定的目标备数据库,不需要DBA 的介入并且不丢失数据。
另外,Oracle 企业管理器自动化及简化了:
1. 从主数据库的备份拷贝中创建物理或逻辑备数据库
2. 添加新的或现有的备数据库到现有的 Data Guard 配置
3. 监控日志应用速度,捕获诊断信息,以及使用集中化的监控、测试、和性能工具快
速发现问题。
1.3.1 使用Oracle 企业管理器
Oracle 企业管理器,也称为企业管理器,提供了一个基于web 的界面,用于查看、监
控、和管理Data Guard 配置中的主和备数据库。企业管理器的易于使用的界面结合了broker
的集中管理和Data Guard 配置的监控,增强了对于高可用性、站点保护、和企业的数据保
护的Data Guard 解决方案。
从企业管理器中央控制台,所有的管理操作能在本地或异地执行。你能查看 Oracle 数
据库的主页,包括主和备数据库以及实例,创建或添加现有的备数据库,气筒和停止实例,
监控实例性能,查看事件,调度作业,以及执行备份和恢复操作。查看Oracle Data Guard
Broker 和Oracle 企业管理器联机帮助系统。
图 1-4 显示了在企业管理器中的Data Guard 管理概要页面。
图 1-4 Oracle 企业管理器中的Data Guard 概要页面

1.3.2 使用Data Guard 命令行界面
Data Guard 命令行界面(DGMGRL)允许你从DGMGRL 提示符或脚本中控制和监控
Data Guard 配置。你能使用DGMGRL 执行大多数所需的行动来管理和监控配置中的数据
库。查看Oracle Data Guard Broker 以获得完整的DGMGRL 参考信息和举例。
1.4 Data Guard 保护模式
在一些情况下,业务不允许丢失数据。在另外一些情况下,数据库的可用性比丢失数据
更为重要。一些应用需要最强的数据库性能并且能容忍丢失少量的数据。下面的描述概述了
三种不同的数据保护模式。
1.最大保护
这种保护模式确保如果主数据库故障不会发生数据丢失。要提供这种级别的
保护,恢复每个事务所需的重做数据必须在事务提交之前同时写到本地联机重做日志和至少
一个备数据库上的备重做日志。要确保不发生数据丢失,如果故障导致主数据库无法写重做
流到至少一个事务一致性备数据库的备重做日志时,主数据库会关闭。
2.最大可用性
这种保护模式提供了可能的最高级别的数据保护,而不用与主数据库的可
用性相折衷。与最大保护模式相同,在恢复事务所需的重做写到本地联机重做日志和至少一
个事务一致性备数据库上的备重做日志之前,事务将不会提交。与最大保护模式不同的是,
如果故障导致主数据库无法写重做流到异地备重做日志时,主数据库不会关闭。替代地,主
数据库以最大性能模式运行直到故障消除,并且解决所有重做日志文件中的中断。当所有中
断解决之后,主数据库自动继续以最大可用性模式运行。
这种模式确保如果主数据库故障,但是只有当第二次故障没有阻止完整的重做数据集从
主数据库发送到至少一个备数据库时,不发生数据丢失。
3.最大性能
这种保护模式(默认)提供了可能的最高级别的数据保护,而不影响主数据
库的性能。这是通过允许事务在恢复该事务所需重做数据在写到本地联机重做日志后立即提
交而实现的。主数据库的重做数据流也写到至少一个备数据库,但是那个重做流相对于创建
重做数据的事务是异步写的。
当所用的网络连接有足够的带宽,这种模式提供了近似于最大可用性模式的数据保护级
别,并且对主数据库性能的影响最小。
最大保护和最大可用性模式需要备重做日志文件配置在配置中的至少一个备数据库上。
所有三种保护模式需要在LOG_ARCHIVE_DEST_n 初始化参数上指定特定的日志传输属性
以发送重做数据到至少一个备数据库。查看5.6 节以获得数据保护模式的完整信息。
1.5 Data Guard 和互补技术
Oracle 数据库提供了几种独特的技术互补Data Guard 确保业务关键系统以比使用其中
任何单种技术更高级别的可用性和数据保护运行。下面的列表总结了一些Oracle 高可用性
技术:
1.Oracle Real Application Clusters(RAC)
RAC 允许多个独立服务器通过内部连接共享访问一个Oracle 数据库,提供了高可
用性、可扩展性、和在故障时的冗余性。RAC 和Data Guard 一起提供了系统级别、站
点级别、和数据级别的保护,导致了高级别的可用性和灾难恢复而不丢失数据:
2.RAC 通过提供从故障的快速和自动恢复来处理系统故障,如节点故障和实例
崩溃。其也提供了对应用的增加的可扩展性。
3.Data Guard 通过保持不共享磁盘的主和备数据库的事务一致性来处理站点故
障,允许从站点灾难和数据损坏中恢复。
可能有许多不同的使用 RAC 和Data Guard 的架构,依赖于本地和异地站点的使
用以及节点和逻辑与物理备数据库的结合的使用。查看附录D,“Data Guard 和Real
Application Clusters”和Oracle 数据库高可用性概述以获得RAC 和Data Guard 的整
合。
4. Flashback 数据库
Flashback 数据库特性提供了从逻辑数据损坏和用户错误中的快速恢复。通过允许
你闪回时间点,可能已经被错误更改或删除的前面版本的业务信息能被再次访问。这种
特性:
   消除了还原备份并前滚更改到错误或损坏出现的时间的需求。替代地,
Flashback 数据库能回滚Oracle 数据库到一个前面的时间点,而不用还原数据文
件。
   提供了延迟重做的应用的选项,以保护用户错误或逻辑损坏。因此,备数据库
能近地与主数据库同步,从而减少了故障转移和切换的时间。
   避免在故障转移后完全重建原始主数据库。故障的主数据库能闪回到故障转移
前的时间点,并转换成新的主数据库的备数据库。
查看 Oracle 数据库备份和恢复高级用户指南以获得Flashback 数据库的信息,以
及6.2.2 节以获得延迟重做数据的应用的信息。
5. 恢复管理器(RMAN)
RMAN 是一种Oracle 工具,简化了备份、还原、和恢复数据库文件。与Data Guard
相同,RMAN 是一种Oracle 数据库的特性,不需要额外的安装。Data Guard 能很好地
与RMAN 集成,允许你:
  使用恢复管理器 DUPILCATE 命令来从你的主数据库的备份中创建备数据库。
  用物理备数据库取代生产数据库来进行备份,减少生产数据库的负载并允许有
效地使用备站点的系统资源。此外,备份能在物理备数据库在应用重做时进行。
  通过自动删除用于在执行备份后输入的归档重做日志文件,帮助管理归档重做
日志文件。
1.6 Data Guard 益处总结
Data Guard 提供了这些益处:
1 灾难恢复,数据保护,和高可用性
Data Guard 提供了一个有效的、广泛的灾难恢复及高可用性解决方案。易于管理
的切换和故障转移能力允许角色在主和备数据库之间转换,最小化了主数据库在计划
和非计划中断的宕机时间。
2 完全的数据保护
Data Guard 能确保没有数据丢失,即使面对无法预料的灾难。备数据库提供了对
数据损坏和用户错误的保护。在主数据库上的存储级别的物理损坏不会蔓延到备数据
库。类似地,导致主数据库永久损害的逻辑损坏或用户错误能被解决。最后,重做数据
在应用到备数据库时要验证。
3 系统资源的有效使用
由从主数据库收到的重做数据更新的备数据库表,能用于其它任务如备份、报表、
总结、和查询,从而减少了主数据库用于执行这些任务所需的工作负载,节省了宝贵的
CPU 和I/O 循环。在逻辑备数据库中,用户能在不是从主数据库更新的方案的表上执
行常规的数据操作。逻辑备数据库能在表被从主数据库更新时保持打开,并且表同时能
被只读访问。最后,在维护的表上能创建额外的索引和物化视图,以获得更好的查询性
能并适合特定的业务需求。
4 灵活保护数据,平衡可用性与性能需求
Oracle Data Guard 提供了最大保护、最大可用性、和最大性能模式,以帮助企业
平衡数据可用性与系统性能需求。
5 自动探测和解决中断
如果在主和一个或更多备数据库之间的连接丢失了(例如,由于网络问题),在主
数据库上生成的重做数据无法发送到那些备数据库。一旦重新建立连接,Data Guard
能自动探测丢失的归档重做日志文件(称之为中断),然后自动传输丢失的归档重做日
志到备数据库。备数据库与主数据库同步,不需要DBA 的手工介入。
6 集中和简单的管理
Data Guard broker 提供了一个图形化的用户界面和一个命令行界面来自动化管理
和操作在Data Guard 配置中的跨多个数据库的任务。Broker 也监控在单个Data Guard
配置中的所有系统。
7 与 Oracle 数据库集成
Data Guard 是Oracle 数据库企业版中的一个特性,不需要单独地安装。
8 自动角色转换
当允许快速启动故障转移时,在主站点灾难的情况下,Data Guard broker 自动故
障转移到一个同步的备站点上,不需要DBA 的介入。另外,角色转换自动通知应用。
阅读(1143) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册