使用 Autonomous Data Guard 保护关键数据库免受故障和灾难影响

使用自治数据卫士功能,即使出现故障、灾难、人为错误或数据损坏,您仍可以保持关键生产数据库可供关键任务应用使用。此类功能通常称为灾难恢复

在专用 Exadata 基础结构上的 Autonomous AI Database 中,您可以在自治容器数据库级别配置和管理 Autonomous Data Guard。

关于 Autonomous Data Guard

Autonomous Data Guard 创建和维护两个完全独立的数据库副本:一个是您的应用连接和使用的数据库,一个是主数据库的同步副本的备用数据库。然后,如果主数据库因任何原因不可用,Autonomous Data Guard 可以将备用数据库转换为主数据库,因此,它将开始为应用提供服务。

主数据库和备用数据库通常称为相互的对等数据库。每个自治容器数据库至多可以有两个备用数据库。

注:必须将应用配置为使用透明应用连续性 (Transparent Application Continuity,TAC),以充分利用 Autonomous Data Guard 提供的数据库可用性功能。

下图显示了如何使每个备用数据库与主数据库保持同步。

插图 autonomous-data-guard.png 的说明

对主数据库所做的更改会记录在主数据库的重做日志中。Autonomous Data Guard 将这些重做记录作为流通过网络传输到备用数据库的重做日志。然后,备用数据库将这些记录应用于备用数据库。这样,备用数据库就会与主数据库保持同步。

同步几乎是瞬时的,但正如刚才描述的过程所暗示的那样,有两个操作会占用时间:将重做记录传输到备用数据库并将重做记录应用到备用数据库。其中第一个称为 transport lag ,另一个称为 apply lag 。您可以从 Autonomous Data Guard 下的数据库的“详细信息”页面查看自治 AI 数据库的当前滞后值。您可以通过容器数据库的“详细信息”页面,以类似的方式查看容器数据库中所有自治 AI 数据库的当前滞后值。

注:对于多个备用数据库,不支持级联重做传输。

配置 Autonomous Data Guard

在专用 Exadata 基础结构上的 Autonomous AI Database 中,您可以在自治容器数据库 (ACD) 级别配置和管理 Autonomous Data Guard。您可以使用 Oracle Cloud Infrastructure 控制台为已预配的 ACD 启用 Autonomous Data Guard,并从其详细信息页面最多添加两个备用 ACD。有关说明,请参阅在自治容器数据库上启用 Autonomous Data Guard添加第二个备用自治容器数据库

在配置 Autonomous Data Guard 之前,请注意以下事项:

使用客户管理的密钥配置 Autonomous Data Guard

在专用 Exadata 基础结构上的自治 AI 数据库中,您可以在自治容器数据库 (ACD) 级别使用客户管理的密钥配置和管理 Autonomous Data Guard。您可以使用 Oracle Cloud Infrastructure 控制台为已预配的 ACD 启用 Autonomous Data Guard,并从其“详细信息”页面最多添加两个备用 ACD。有关说明,请参阅在自治容器数据库上启用 Autonomous Data Guard添加第二个备用自治容器数据库

在使用客户管理的密钥配置 Autonomous Data Guard 之前,请注意以下事项:

注:如果要在 OCI 区域中的 ACD 和 AWS 区域中的 ACD 之间配置 Autonomous Data Guard,则只能使用 Oracle 管理的密钥或 Oracle Key Vault。无法使用 OCI KMS 密钥或 AWS KMS 密钥。

角色转换和操作

创建自治容器数据库 (Autonomous Container Database,ACD) 后,您可以使用切换或故障转移操作更改对等数据库的角色。如果启用了自动故障转移,则只要主数据库因任何原因不可用,Autonomous Data Guard 就会自动执行故障转移操作。

切换是主数据库与其备用数据库之间的角色转换。切换可确保不会丢失数据。在切换期间,主数据库将转换为备用角色,备用数据库将转换为主数据库角色。要执行切换操作,请参见 Switch Roles in an Autonomous Data Guard Configuration

故障转移是指主数据库不可用。故障转移将导致备用数据库转换为主数据库角色。如果未启用自动故障转移,则可以执行手动故障转移,如 Fail Over to the Standby in an Autonomous Data Guard Configuration 中所述。

故障转移操作后数据库的可用性和状态具有以下两个恢复目标:

故障转移后,发生故障的主数据库将成为禁用的备用数据库,并且对任何数据库连接均不可用。您可以重新启用它,并通过执行恢复操作将其变为健康的备用数据库。故障主数据库恢复为备用数据库后,您可以执行切换以将其恢复为原始主数据库角色。要执行恢复操作,请参见 Reinstate the Disabled Standby in an Autonomous Data Guard Configuration

自动故障转移或快速启动故障转移

通过自动故障转移,每当主 ACD 因区域故障、可用性域故障、Exadata 基础结构或自治 Exadata VM 集群 (AVMC) 发生故障或 ACD 本身发生故障而变得不可用时,它就会自动故障转移到备用 ACD。这也称为快速启动故障转移。

在 ACD 上配置 Autonomous Data Guard 时,无法启用自动故障转移。只能在从 ACD 详细信息页面更新 Autonomous Data Guard 设置时启用或禁用自动故障转移。

注:无法为部署在具有跨区域 Autonomous Data Guard 设置的 Exadata Cloud@Customer 中的自治 AI 数据库启用自动故障转移。

无法为第一个备用 ACD 添加启用了自动故障转移的第二个备用 ACD。因此,在创建第二个备用 ACD 之前,请使用 Update Autonomous Data Guard Settings 禁用自动故障转移,并在以后根据需要重新启用它。

高性能和最高可用性保护模式都支持自动故障转移:

有关详细信息,请参阅更新 Autonomous Data Guard 设置

除了硬件故障、可用性域中断和区域中断外,还有一些数据库健康状况可以触发快速启动故障转移,如下所示:

数据库健康状况条件 说明
损坏的控制文件 由于磁盘出现故障,控制文件被永久损坏。
损坏的字典 关键数据库字典损坏。当前,仅当数据库处于打开状态时才能检测到此状态。
数据文件写入错误 任何数据文件(包括临时文件、系统数据文件和还原文件)中都遇到写入错误。

由于自动故障转移,发生故障的主数据库的角色变为“Disabled Standby(已禁用备用)”,在短时间内,备用数据库将承担主数据库的角色。自动故障转移结束后,禁用的备用数据库的详细信息页面上会显示一条消息,通知您发生了故障转移。

在服务解决以前的主要自治容器数据库问题后,您可以执行手动切换,将两个数据库恢复为其初始角色。预配备用数据库后,可以执行与备用数据库相关的各种管理任务,包括:

在具有多个备用数据库和自动故障转移的 Autonomous Data Guard 设置中:

快照备用数据库

快照备用数据库是一种通过将备用自治容器数据库 (ACD) 转换为快照备用 ACD 而创建的完全可更新备用数据库,有关分步说明,请参见 Convert Physical Standby to Snapshot Standby

快照备用数据库会接收和归档(但不应用)主数据库的重做的数据。但是,它会增加恢复时间目标 (Recovery Time Objective,RTO),因为不会应用来自主数据库的实时更改。

快照备用功能支持各种用例,但以下是主要用例:

注:无法将物理备用自治容器数据库转换为启用了自动故障转移的快照备用数据库。

转换为快照备用数据库时,您可以激活仅在快照模式下处于活动状态的新数据库服务,也可以使用与主数据库使用的同一组服务。但是,激活快照备用数据库上的主数据库服务可能会导致将快照备用连接请求转发到主数据库,反之,如果您使用的数据库连接字符串不正确。因此,连接到主数据库和快照备用数据库时,必须小心使用适当的连接字符串。

注:使用快照备用数据库创建新服务时,将更新快照备用 ACD 中所有自治 AI 数据库的 wallet。要访问数据库,请从备用自治 AI 数据库重新加载钱包并使用快照备用连接字符串。

您可以手动将快照备用 ACD 从 Oracle Cloud Infrastructure (OCI) 转换为物理备用 ACD。有关详细说明,请参见 Convert Snapshot Standby to Physical Standby 。如果未手动将快照备用数据库转换为物理备用数据库,则将在创建 7 天后自动将其转换回物理备用数据库。无论如何,将快照备用数据库转换回物理备用数据库将放弃对快照备用数据库的所有本地更新,并应用从主数据库接收的重做数据。

备用 ACD 处于快照备用模式时,无法对主 ACD 执行以下操作:

如果情况需要,您可以从主数据库手动将故障转移到快照备用数据库。在这种情况下,故障转移将快照备用数据库转换为物理备用数据库,方法是放弃对快照备用数据库所做的所有本地更新并应用主数据库中的数据。有关分步说明,请参见 Fail Over to the Standby in an Autonomous Data Guard Configuration

不允许在主数据库与其快照备用数据库之间进行切换。尝试切换之前,必须手动将快照备用数据库转换为物理备用数据库。

从客户机应用程序访问备用数据库

在 Autonomous Data Guard 配置中,客户机应用程序通常连接到主数据库并在主数据库上执行操作。

连接到物理备用数据库

除了此普通连接外,Autonomous Data Guard 还提供在备用数据库上执行只读操作的客户端应用程序连接选项。为了利用此选项,客户机应用程序使用包含 "_RO" 的数据库服务名称(对于“只读”)连接到数据库,如 Predefined Database Service Names for Autonomous AI Database 中所述。

连接到快照备用数据库

Autonomous Data Guard 还允许您将执行读写操作的客户端应用程序连接到快照备用数据库。这些操作是快照备用数据库的本地操作,不会修改其主数据库。要连接到快照备用数据库,客户机应用程序可以使用包含 "_SS"(用于“快照备用”)的数据库服务名称,如 Predefined Database Service Names for Autonomous AI Databases 中所述。

注:当备用数据库处于快照备用模式时,所有在其名称中包含 "_RO" 服务的数据库服务都处于非活动状态,无法用于连接。

监视滞后时间

在使用 Autonomous Data Guard 的数据库运行时,您可以通过选择 Autonomous Data Guard Groups(自治数据卫士组),从数据库(或容器数据库的“详细信息”页面监视传输滞后并应用滞后时间。您还可以使用 OCI 控制台或观测 API 来监视传输滞后并配置预警和通知。有关详细信息,请参阅使用自治 AI 数据库度量进行数据库观测

随着数据库的工作量 ebbs 和流量的增加,您应该会看到随时间推移的小幅波动。但是,如果您注意到滞后时间持续上升趋势,则可以采取以下操作解决这种情况:

Autonomous Data Guard 配置选项

配置 Autonomous Data Guard 时,您可以指定要在其中创建备用数据库的 Exadata 基础结构和 Autonomous Exadata VM Cluster 资源,并指定要使用的数据保护模式。

指定要用于备用数据库的 Exadata 基础结构和自治 Exadata VM 集群资源时,可以选择以下选项:

关于保护模式

Autonomous Data Guard 提供了以下数据保护模式:

您可以从 Oracle Cloud Infrastructure (OCI) 控制台更改 Autonomous Data Guard 设置中的保护模式。有关分步说明,请参阅更新 Autonomous Data Guard 设置

有关 Oracle Data Guard 中的保护模式(作为 Autonomous Data Guard 功能的基础)的更多信息,请参阅 Oracle Data Guard Concepts and Administration 中的 Oracle Data Guard Protection Modes

配置 Autonomous Data Guard 时的最佳实践

Autonomous AI Database 允许您使用 Autonomous Data Guard 最多创建两个备用 ACD,但您可以根据您的需求选择使用单个或多个备用 ACD。但是,要使用自治 AI 数据库提供的最具弹性的灾难恢复选项,您可以添加一个本地备用 ACD 和一个远程或跨区域备用 ACD,并将最高可用性作为数据保护模式。

让我们了解此设计的益处:

Autonomous Data Guard 如何影响标准管理操作

在某些情况下,您在自治容器数据库上执行的标准管理操作在自治数据卫士配置中的主容器数据库和备用容器数据库上的工作方式与标准容器数据库不同。以下列表介绍了这些差异。

分步指南

有关在自治容器数据库中管理 Autonomous Data Guard 配置的分步指导,请参阅:

您还可以使用 API 查看和管理 Autonomous Data Guard 配置。有关更多详细信息,请参见 API to Manage Autonomous Data Guard Configuration

相关内容

管理 Autonomous Data Guard 配置