Oracle Data Guard 19c 概念

Oracle Data Guard可以用来实现数据库的HA高可用,数据保护和灾难恢复等功能。如果生产数据库出现不可访问的故障,可以将备数据库切换到生产角色,最小化数据库的宕机时间。

Oracle Data Guard是Oracle Database Enterprise Edition的功能,不需要单独安装。

Oracle Data Guard可以配置1个主数据库(primary database)和多达30个备数据库(standby database)。主数据库可以是单实例数据库或RAC数据库。备数据库是主数据库的事务一致性复制,Data Guard会将redo数据从主数据库传输到备数据库,然后再将redo应用到备数据库。备数据库也可以是单实例或RAC数据库。
Oracle Data Guard 19c 概念_第1张图片

备数据库类型

备数据库有三种类型:
1) 物理备数据库(Physical standby database)
提供主数据库物理上的相同复制,数据库的结构与主数据库在块级别上是相同的。物理备数据库通过Redo Apply来实现与主数据库同步。
物理备数据库可以打开进行只读访问,能够卸载部分主数据库的查询负载。如果购买了Oracle Active Data Guard的选项license,当物理备数据库在打开时也可以进行Redo Apply,这样查询就可以获得与主数据库一样的输出结果。这个功能称为实时查询功能。
Oracle Data Guard 19c 概念_第2张图片
从11g Release 1(11.1)版本开始,物理备数据库可以在提供只读访问的同时接收和应用redo,因此可以同时提供数据保护和报告的功能。
从11g Release 2(11.2.0.1)版本开始,物理备数据库可以用来以滚动方式(rolling fashion)安装one-off补丁,PSU(patch set updates)补丁和CPU(critical patch updates)补丁。不过需要先将物理备数据库转换成逻辑备数据库再进行,详情参考Oracle Document 1265700.1。

2) 逻辑备数据库(Logical standby database)
包含与生产数据库相同的逻辑信息,数据在物理组织和结构上是不同的。逻辑备数据库通过SQL Apply来实现与主数据库同步。备逻辑数据库将从主数据库中接收到的redo数据转换成SQL语句,然后在备数据库上执行相应的SQL语句。
Oracle Data Guard 19c 概念_第3张图片

3) 快照备数据库(Snapshot standby database)
快照备数据库是个可以完全更新的备数据库。如物理和逻辑备数据库一样,快照备数据库也会从主数据库接收Redo数据,但是快照备数据库不应用Redo数据。只有将快照备数据库转换成物理备数据库时才会先抛弃本地的数据更新,然后再应用Redo数据。
快照备数据库适用于需要临时的可更新的物理备数据库的场景。例如,可以使用Oracle Real Application Testing(数据库回放)功能抓取主数据库的数据库负载,然后在快照备数据库上进行Replay测试。


redo传输服务(Redo Transport Services)

redo传输服务控制从生产数据库到一个或多个归档目的地的redo数据的自动传输。
Redo传输服务执行以下任务:
1)从主系统传输redo数据到配置中的备系统。
2)管理解决归档redo日志文件中由于网络故障导致的任何gap的过程。
3)自动检测备系统上缺失或损坏的归档redo日志文件和自动从主数据库或其它备数据库上获取替代的归档redo日志文件。


应用服务(Apply Serivces)

应用服务自动在备数据库上应用redo数据来维护与主数据库的一致性。

redo数据从主数据库传输和写到备数据库上的备redo日志。应用服务也允许只读访问数据。

物理和逻辑备数据库之间的主要区别是应用服务应用归档redo数据的方式:
1)对于物理备数据库,Oracle Data Guard使用Redo Apply技术,它使用Oracle数据库的标准的恢复技术在备数据库上应用redo数据,如Figure 1-2所示。
2)对于逻辑备数据库,Oracle Data Guard使用SQL Apply技术,它首先转换接收到的redo数据为SQL语句,然后在逻辑备数据库上执行生成的SQL语句,如Figure 1-3所示。


数据库角色转换

每个数据库都运行在其中之一的角色中:主数据库或备数据库。在Oracle Data Guard中,可以使用switchover(正常切换)或failover(故障切换)操作进行数据库的主备角色转换。
1)switchover操作是将主数据库和备数据库进行角色转换,switchover确保没有数据损失。一般用于计划内的数据库系统维护,在switchover时,主数据库转换为备数据库角色,备数据库转换为主数据库角色。
2)failover操作只用于主数据库出现故障时,将备数据库转换为主数据库角色。数据库管理员可以配置Data Guard来确保没有数据丢失。
可以使用SQL语句手工进行数据库角色的转换,也可以使用Data Guard Broker简化角色的转换,使用OEM Cloud Control或DGMGRL命令行进行自动failover操作。


系统要求

在Oracle Data Guard主数据库和备数据库上需要安装相同版本的Oracle Database Enterprise Edition软件(除了在滚动升级时使用逻辑或临时的逻辑备数据库外)。

从Oracle Database 11g开始,Oracle Data Guard提供了更加灵活的配置,主备数据库可以分别包含不同的CPU架构,操作系统(例如Windows和Linux),操作系统位数(32位/64位)和数据库位数(32位/64位)。主备数据库支持的异构平台请分别参考Oracle notes 413484.1(物理备数据库支持的异构平台) and 1085687.1(逻辑备数据库支持的异构平台)。




来源:《Oracle Data Guard Concepts and Administration,19c》

你可能感兴趣的:(Oracle,Oracle,Data,Guard,数据库,oracle,database,data,guard)