欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

荐 Oracle Data Guard(一)简介

程序员文章站 2022-03-26 14:41:00
文章目录一、什么是DG二、 Oracle Data Guard配置2.1 主数据库2.2 备用数据库2.2.1 备用数据库的类型2.2.1.1 物理备用数据库2.2.1.2 逻辑备用数据库2.2.1.3 快照备用数据库三、Oracle Data Guard三种保护模式3.1 Maximum Availability3.2 Maximum Performance3.3 Maximum Protection四、总结一、什么是DG  Oracle Data Guard可确保企业数据的高可用性,数据保护和灾难恢...

一、什么是Data Guard

  Oracle Data Guard可确保企业数据的高可用性,数据保护和灾难恢复。
  Oracle Data Guard提供了一套全面的服务,可以创建,维护,管理和监视一个或多个备用数据库,以使生产Oracle数据库能够在灾难和数据损坏中幸免。Oracle Data Guard将这些备用数据库维护为生产数据库的副本。然后,如果由于计划内或计划外的停机而使生产数据库不可用,则Oracle Data Guard可以将任何备用数据库切换为生产角色,从而最大程度地减少与停机相关的停机时间。Oracle Data Guard可以与传统的备份,还原和集群技术一起使用,以提供高水平的数据保护和数据可用性。
  借助Oracle Data Guard,管理员可以选择通过将资源密集型备份卸载并向备用系统报告操作来提高生产数据库的性能。
  下图显示了一个典型的Oracle Data Guard配置,该配置包含一个主数据库,该主数据库将重做数据传输到备用数据库。备用数据库位于主数据库的远程位置,用于灾难恢复和 备份操作。可以在与主数据库相同的位置配置备用数据库。但是,对于灾难恢复的目的,建议在远程位置配置备用数据库。
荐
                                                        Oracle Data Guard(一)简介
荐
                                                        Oracle Data Guard(一)简介

二、 Oracle Data Guard配置

  Oracle Data Guard配置可以包含一个主数据库和最多30个目备用数据库。Oracle Data Guard配置的成员由Oracle Net连接,并且可以在地理位置上分散。只要Oracle Data Guard配置的成员可以相互通信,就没有位置限制。例如,您可以在与主数据库相同的数据中心中拥有一个备用数据库,在另一个数据中心中具有两个备用数据库。
  可以使用SQL命令行界面或Oracle Data Guard Broker界面来管理主数据库和备用数据库。代理提供了命令行界面(DGMGRL)和图形用户界面,这些界面集成在Oracle Enterprise Manager Cloud Control中。

2.1 主数据库

  Oracle Data Guard配置包含一个生产数据库,也称为主数据库,该数据库以Master角色运行。
  主数据库是大多数应用程序访问的数据库,提供读写功能。
主数据库可以是单实例Oracle数据库或Oracle应用程序群集(Oracle RAC)数据库。

2.2 备用数据库

  备用数据库是主数据库的事务一致副本。
  使用主数据库的备份副本,最多可以创建30个备用数据库,并将它们合并到Oracle Data Guard配置中。Oracle Data Guard通过从主数据库传输重做数据,然后将重做应用于备用数据库来自动维护每个备用数据库。
  与主数据库相似,备用数据库可以是单实例Oracle数据库或Oracle RAC数据库。

2.2.1 备用数据库的类型

2.2.1.1 物理备用数据库

  提供与主数据库在物理上完全相同的副本,磁盘上的数据库结构逐块与主数据库相同。数据库架构(包括索引)是相同的。物理备用数据库通过“重做应用”保持与主数据库同步,该应用恢复从主数据库接收的重做数据,并将重做应用于物理备用数据库。
  从Oracle Database 11 g第1版(11.1)开始,物理备用数据库在为只读访问而打开时可以接收并应用重做。因此,物理备用数据库可以同时用于数据保护和报告。
  此外,从Oracle Database 11 g第2版(11.2.0.1)开始,物理备用数据库可用于滚动安装合格的一次性修补程序,修补程序集更新(PSU)和关键修补程序更新(CPU)。

2.2.1.2 逻辑备用数据库

  尽管数据的物理组织和结构可以不同,但包含与生产数据库相同的逻辑信息。逻辑备用数据库通过SQL Apply与主数据库保持同步,SQL Apply将重做中从主数据库接收的数据转换为SQL语句,然后在备用数据库上执行SQL语句。
  逻辑备用数据库的灵活性使得可以升级Oracle数据库软件(补丁集和新的Oracle数据库版本)并以滚动方式执行其他数据库维护,而几乎不会停机。从Oracle Database 11g开始,瞬态逻辑数据库滚动升级过程也可以与现有的物理备用数据库一起使用。

2.2.1.3 快照备用数据库

  快照备用数据库是完全可更新的备用数据库。类似于物理或逻辑备用数据库,快照备用数据库从主数据库接收并存档重做数据。与物理或逻辑备用数据库不同,快照备用数据库不应用其接收的重做数据。快照备用数据库接收到的重做数据要先将快照备用数据库进行的本地更新丢弃,然后再将快照备用数据库转换回物理备用数据库,然后才能应用。
  快照备用数据库最好用于需要临时的物理备用数据库,可更新快照的方案。例如,使用Oracle Real Application Testing选项在主数据库上捕获数据库工作负载,然后在快照备用数据库上对其进行重放以进行测试。由于快照备用数据库接收到的重做数据在转换回物理备用数据库之前不会应用,因此从主数据库故障中恢复所需的时间与所需应用的重做数据量成正比。

三、Oracle Data Guard三种保护模式

  无论何种情况,企业都无法承受丢失数据的风险。在其他情况下,在不太可能发生多次故障的情况下,数据库的可用性可能比任何潜在的数据丢失更为重要。最后,某些应用程序始终需要最高的数据库性能,因此,如果任何组件发生故障,则可以忍受少量的数据丢失。  Oracle Data Guard提供了三种不同的数据保护模式:

3.1 Maximum Availability

  Primary Database每个事务的Redo日志要写到本地和Standby Database中才能提交。
  这个和最大保护模式不同的是,如果写入到Standby Database失败,Primary Database不会自动关闭。这时Primary Database会自动转换为Maximum Performance模式,等待问题解决并且Standby Database再次和Primary Database同步之后,Primary Database会自动的转换为Maximum Availability。
  这种模式要求Standby Database必须配置Standby Redo log,而Primary Database必须配置为LGWR、SYNC、AFFIRM方式归档。
除某些双重故障(例如备用数据库故障后的主数据库故障)外,此保护模式可确保零数据丢失

3.2 Maximum Performance

  这个模式是Oracle默认模式,他更加侧重对Primary Database的可用性不造成任何影响。
  Primary Database上的事务的Redo日志只要写到本地日志文件就可以提交,不必等待到Standby Database的传递完成。
  Primary Database的Redo流可以异步的发送到Standby Database。
  这种模式通过LGWR ASYNC或者ARCH实现,Standby Database也不要求使用Standby Redo Log。
与最大可用性模式相比,此保护模式提供的数据保护略少,并且对主数据库性能的影响最小

3.3 Maximum Protection

  Primary Database上的每个事务的Redo日志必须在本地和Standby Database上都写入日志文件后才能提交,如果不能写入到Standby Database,Primary Database就会自动关闭(挂起)以防止数据丢失。
该模式性能不佳,但数据保护性最高

四、Oracle Data Guard优势

  Oracle Data Guard提供了一个高效、全面的灾难恢复和高可用性解决方案。

4.1 Oracle Data Guard优势

  • 快速,手动或自动的数据库故障转移,可解决数据损坏,丢失的写入以及数据库和站点故障的问题,Data Guard的恢复时间可能为数秒,而传统解决方案的恢复时间为数小时
  • 使用Oracle Active Data Guard远程同步在广域网上实现零数​​据丢失
  • 使用Oracle Active Data Guard远程同步进行重做传输压缩和重做传输到多达29个远程目标的卸载处理
  • 自动损坏修复通过从物理备用数据库或主数据库复制良好的块来自动替换主备用数据库或物理备用数据库上的物理块损坏
  • 提供最全面的保护,防止数据损坏和主数据库上的写入丢失
  • 使用Data Guard切换减少了存储,Oracle ASM,Oracle RAC,系统迁移和某些平台迁移以及更改的停机时间
  • 通过Data Guard滚动升级功能减少停机时间
  • 能够在不牺牲RTO和RPO使用实时查询的情况下将备用数据库用作只读资源的RTO和RPO的能力下,减轻主要数据库活动(例如备份,查询或报告)的负担。
  • 作为整个站点故障转移操作的一部分,能够使用Oracle数据库文件系统(DBFS)或Oracle自动存储管理集群文件系统(Oracle ACFS)集成非数据库文件
  • 站点发生故障后无需重新启动实例,重新制作存储母带或重新连接应用程序
  • 对应用程序的透明度
  • 对应用程序故障转移提供透明和集成的支持(应用程序连续性和事务保护)
  • 有效的网络利用率
  • 数据库内存支持
  • 集成服务和客户端故障转移,减少了整体应用程序的RTO
  • 使用现有的Oracle技术(例如Oracle RAC,RMAN,Oracle GoldenGate,企业管理器,运行状况检查(orachk)和DBCA)增强和集成Data Guard意识。

五、总结

  Oracle通过Data Guard可确保企业数据的高可用性,数据保护和灾难恢复。类似于MySQL的SLAVE,但是MySQL的SLAVE类似逻辑备库,并且目前MySQL不支持自动切换的。

本文地址:https://blog.csdn.net/qq_42979842/article/details/107164038