best365(中文版)官网登录-Official Platform

best365官网中文版登录Logo best365官网中文版登录Logo

Oracle Data Guard:企业级灾难恢复的关键角色

下载按钮

下载免费试用版

适用于多种数据备份

Oracle Data Guard:企业级灾难恢复的关键角色

2026-06-05

RAC、Data Guard 和 Stream 是 Oracle 高可用性系统中的三种工具。每种工具均可独立使用,也可组合使用。它们的关注重点不同,适用于不同的应用场景。

RAC 擅长解决单点故障和负载均衡问题,因此常被应用于 24/7 运行的关键系统。然而,在 RAC 解决方案中,数据仅保存一份副本。尽管可通过 RAID 等机制避免存储设备故障,但数据本身缺乏冗余,仍易受单点故障影响。

Data Guard 通过冗余数据提供数据保护。它利用日志同步机制,确保冗余数据与主数据之间保持同步。这种同步可采用多种形式,例如实时同步、延迟同步、同步复制或异步复制。Data Guard 常用于小型企业的远程灾难恢复和高可用性解决方案。虽然它允许在备用数据库上执行只读查询,从而减轻主数据库的性能压力,但 Data Guard 的主要目的并非作为性能优化方案。

流(Streams)基于 Oracle 高级队列(Advanced Queue)构建,支持数据同步,并在多个层级提供灵活的配置能力。由于 Oracle 提供了全面的开发支持(包括丰富的 API),流更适合在应用层面实现数据共享。

什么是Data Guard?

在Data Guard环境中,至少存在两个数据库:一个处于打开状态、对外提供服务,称为主数据库;另一个处于恢复状态,称为备用数据库。运行期间,主数据库为客户端提供服务,用户操作被记录在联机日志和归档日志中,随后通过网络传输至备用数据库。备用数据库回放这些日志,从而实现两个数据库之间的数据同步。

Oracle Data Guard 进一步优化了该流程,自动并简化了日志传输与恢复任务,同时提供一系列参数和命令,以减轻数据库管理员(DBA)的工作负担。

如果预计存在需要关闭主数据库的因素(例如软件或硬件升级),可将备用数据库切换为主数据库,继续为客户端提供服务,从而最大限度减少服务中断时间,并确保数据完整性。当主数据库因突发问题而不可用时,可强制将备用数据库切换为主数据库,继续为客户端提供服务。此类情况下的数据丢失程度取决于所配置的数据保护级别。因此,主数据库与备用数据库是概念性的角色,并不固定于特定的数据库实例。

Data Guard 架构

Data Guard 架构可分为三个功能部分:

1) 重做日志传送:

主数据库运行期间,会持续生成重做日志,并需将其传送至备用数据库。该传送操作可由主数据库的 LGWR 或 ARCH 进程执行。不同的归档目标可采用不同的传送方式,但针对某一特定目标,仅能选择其中一种方式。所选进程对数据保护能力和系统可用性具有显著影响。

2) 重做接收:

备用数据库中的 RFS(远程文件服务器)进程接收日志,并根据主数据库的日志传输方式及备用数据库的位置,将日志写入备用重做日志文件或归档日志文件。若日志被写入备用重做日志文件,则当主数据库发生日志切换时,会触发备用数据库上备用重做日志的切换,并对该备用重做日志进行归档。若日志被写入归档日志文件,则该操作本身即可视为一次归档操作。

3)重做应用:

重做应用服务负责在备用数据库上重放主数据库的日志,从而实现两个数据库之间的数据同步。

根据备用数据库重放日志的方式不同,备用数据库分为两种类型:物理备用数据库逻辑备用数据库

根据重做应用发生的时间,还有两种类型:

a) 实时应用:此方法需要使用备用重做日志(Standby Redo Log)。每当有日志写入备用重做日志时,即触发恢复操作。该方法的优势在于可缩短数据库切换所需时间,因为其余日志已实现实时恢复。

b) 在归档时应用:此方法在主数据库发生日志切换并触发备用数据库归档时应用日志。归档过程完成后,即启动恢复操作。此模式亦为默认恢复模式。

物理备用数据库与逻辑备用数据库

备用数据库分为两种类型:物理备用数据库和逻辑备用数据库。

1. 物理备用数据库:

物理备用数据库与主数据库完全相同。Data Guard 通过重做日志应用(REDO apply)来维护物理备用数据库。通常情况下,当物理备用数据库未执行重做日志应用时,可将其以只读(READ ONLY)模式打开。若数据库中已配置闪回区(Flashback Area),则甚至可临时切换至读写(READ WRITE)模式进行操作。完成必要操作后,可利用闪回数据库(Flashback Database)功能将数据库恢复至进入读写模式前的状态,从而继续应用来自主数据库的重做数据。

注意:Oracle 11g 中物理备用数据库的应用功能已得到增强。在该版本中,物理备用数据库可在“打开只读”模式下持续应用重做(REDO)数据。这极大地提升了物理备用数据库的可用性。

物理备用数据库的特点:

1)灾难恢复与高可用性:物理备用数据库为灾难恢复和高可用性提供了强大而高效的解决方案。它简化了切换/故障转移的管理,减少了计划内或计划外的停机时间。

2)数据保护:借助物理备用数据库,Data Guard 可最大限度地减少数据丢失,即使面对不可预见的灾难事件。

3)卸载主数据库工作负载:通过将备份和只读查询等特定任务卸载到物理备用数据库,可节省主数据库的CPU和I/O资源。

4)性能提升:物理备用数据库中使用的重做应用(REDO apply)机制在恢复的最低层级运行,绕过了SQL代码执行,从而实现了最高效率和最佳性能。

2. 逻辑备用数据库:

逻辑备用数据库同样基于主数据库(或其备份或副本,例如物理备用数据库)创建。因此,初始状态下,它在起始阶段与物理备用数据库相似。然而,由于逻辑备用数据库通过执行 SQL 语句来应用重做(REDO)数据,其物理文件结构乃至数据的逻辑结构都可能与主数据库不同。

与物理备用数据库不同,逻辑备用数据库通常以“读写(READ WRITE)”模式打开,允许用户随时访问。换言之,SQL 语句的执行是在逻辑备用数据库处于“打开(OPEN)”状态下进行的。这既带来优势,也存在弊端。由于 SQL 执行的特性,逻辑备用数据库对某些数据类型以及部分 DDL/DML 语句存在操作限制。您可通过 DBA_LOGSTDBY_UNSUPPORTED 视图查询不受支持的数据类型。若使用了此类数据类型,则无法保证数据库的完全一致性。

启用逻辑备用数据库的读写模式,可使其作为报表系统使用,从而减轻主系统的负载。

逻辑备用数据库的特点:

除前述物理备用数据库所具备的灾难恢复、高可用性和数据保护等特性外,逻辑备用数据库还具有以下特点:

1)备用服务器硬件资源的高效利用:逻辑备用数据库可用于创建额外的索引、物化视图,并满足特定业务需求。它还可创建主数据库中不存在的新模式,并执行在主数据库上不适宜进行的DDL或DML操作。

2)卸载主数据库的工作负载:通过在保持与主数据库同步的同时使逻辑备用数据库保持打开状态,该数据库既能提供数据保护,又能执行报表操作。这将报表生成和查询任务从主数据库中分离出来,从而节省宝贵的CPU和I/O资源。

3)平滑升级:逻辑备用数据库可用于跨版本升级和数据库补丁安装等操作。

数据保护模式

Data Guard 提供三种数据保护模式:最大保护模式、最高可用性模式和最高性能模式。

1. 最大保护模式:

该模式可确保零数据丢失。为实现此目标,所有事务不仅必须在提交前写入本地联机重做日志,还必须同时写入备用数据库的备用重做日志。重做数据须至少在一个备用数据库(若存在多个备用数据库)中可访问后,主数据库方可提交事务。若备用数据库因故障(例如网络中断)而不可用,则主数据库将自动关闭,以防止数据丢失。

启用此模式需要为备用数据库配置备用重做日志,并且主数据库必须使用 LGWR、SYNC、AFFIRM 模式将归档日志传送至备用数据库。

2. 最大可用性:

此模式在不影响主数据库可用性的前提下,提供最高级别的数据保护策略。其实现方式与“最大保护”模式类似:本地事务必须先写入至少一个备用数据库的备用重做日志(Standby Redo Logs),然后才能提交。但不同之处在于,若发生导致备用数据库不可访问的故障,主数据库将自动切换至“最大性能”模式,而非直接关闭;一旦备用数据库恢复,主数据库将自动切回“最大可用性”模式。

尽管该模式旨在最大限度地减少数据丢失,但无法保证绝对的数据一致性。与“最大保护”模式一样,此模式要求备用数据库配置备用重做日志,并要求主数据库使用 LGWR、SYNC、AFFIRM 模式将归档日志传送至备用数据库。

3. 最大性能模式:

该模式在不影响主数据库性能的前提下,提供最高级别的数据保护策略。事务可随时提交,当前主数据库产生的重做(REDO)数据需至少写入一个备用数据库,但该写入过程可以异步执行。在网络条件理想的情况下,此模式可在仅对主数据库性能造成轻微影响的同时,提供与“最大可用性”模式相近的数据保护能力。创建备用数据库时,默认采用此保护模式。该模式可通过LGWR ASYNC或ARCH进程实现,且备用数据库无需配置备用重做日志(Standby Redo Logs)。

修改数据保护模式的步骤:

1. 关闭数据库,并以“装载”(Mount)状态重新启动。如果是 RAC 环境,请关闭所有实例,仅启动一个实例并使其处于“装载”状态。

2. 使用以下语法修改模式:

ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {PROTECTION | AVAILABILITY | PERFORMANCE};

例如:SQL>ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;

3. 打开数据库:ALTER DATABASE OPEN;

4. 确认修改后的数据保护模式:

SQL>SELECT protection_mode, protection_level FROM v$database;

日志应用服务

数据卫士(Data Guard)通过应用重做日志(REDO)来确保主数据库与备用数据库之间的一致性。在后台默默支撑这一过程的,是著名的小日志应用服务(Log Apply Services)。日志应用服务分为两种类型:

1. 重做应用(REDO Apply):仅适用于物理备用数据库,它通过介质恢复使物理备用数据库与主数据库保持同步。

2. SQL 应用:仅适用于逻辑备库,其核心功能是通过 LogMiner 分析 SQL 语句,并在备库端执行这些语句。

因此,在应用REDO数据时,物理备用数据库必须处于MOUNT状态,而逻辑备用数据库则需以READ WRITE模式打开以应用REDO数据。然而,正在维护的对象默认被设为只读,无法在逻辑备用端直接修改。

使用专业解决方案保护 Oracle 数据库

Oracle Data Guard 是一种功能强大的高可用性、数据保护与灾难恢复解决方案。对于无法承受严重停机或数据丢失的企业而言,它是关键性工具。然而,为更全面地保护数据库环境,建议采用专业的备份与灾难恢复解决方案对 Oracle 数据库进行备份。

Vinchin 备份与恢复

Vinchin备份与恢复 提供强大功能,可自动、灵活且高效地保护虚拟机和物理服务器中的数据库。它支持多种数据库的保护,包括Oracle数据库、MySQL、SQL Server、Postgres Pro和MariaDB,具备数据库压缩、集中式任务管理、智能备份策略、热备份以及针对SQL Server和Oracle的高级支持。此外,它还支持强大的勒索软件防护 功能,以及跨10余个虚拟化平台的虚拟机到虚拟机(V2V)迁移

Vinchin 备份与恢复软件已被数千家企业选用,您也可以立即开始使用这一功能强大的系统,享受为期15天的全功能免费试用!此外,您还可联系我们,留下您的具体需求,我们将根据您的IT环境为您量身定制解决方案。

总结

Oracle Data Guard 是任何企业级 Oracle 数据库部署的关键组件,为灾难恢复、高可用性、数据保护和工作负载均衡提供全面的解决方案。其灵活的架构及多种运行模式,可满足广泛的企业需求与运维要求。

您可以选择 Vinchin 备份与恢复软件,轻松备份和恢复您的 Oracle 数据库。千万不要错过免费试用机会!

best365官网中文版登录备份软件,best365官网中文版登录容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆

您可能感兴趣的新闻 换一批

现在下载,可享15天免费试用

立即下载

请添加好友为您提供支持
jia7jia_7

微信售后服务二维码

请拨打电话
为您提供支持

400-9955-698

XML 地图