View a markdown version of this page

RDS for Oracle 副本概述 - Amazon Relational Database Service

RDS for Oracle 副本概述

Oracle 副本数据库是主数据库的物理副本。只读模式下的 Oracle 副本称为只读副本。装载模式下的 Oracle 副本称为装载副本。Oracle 数据库不允许在副本中进行写入操作,但是您可以升级副本以使其可写。提升的只读副本拥有提出提升请求时的已复制数据。

以下视频提供了 RDS for Oracle 灾难恢复的有用概述。

有关更多信息,请参阅博文 Managed disaster recovery with Amazon RDS for Oracle cross-Region automated backups - Part 1Managed disaster recovery with Amazon RDS for Oracle cross-Region automated backups - Part 2

只读和装载副本

创建或修改 Oracle 副本时,可以将其置于以下任一模式:

Read-only

这是默认值。Active Data Guard 会将源数据库中的更改传输并应用到所有只读副本数据库。

您可以从一个源数据库实例创建最多 5 个只读副本。有关适用于所有数据库引擎的只读副本的一般信息,请参阅使用数据库实例只读副本。有关 Oracle Data Guard 的信息,请参阅 Oracle 文档中的 Oracle Data Guard 概念和管理

挂载模式

在这种情况下,复制使用 Oracle Data Guard,但副本数据库不接受用户连接。装载副本的主要用途是跨区域灾难恢复。

装载的副本无法为只读工作负载提供服务。不论存档日志的保留策略为何,装载副本都会在应用存档重做日志文件后删除这些文件。

您可以为同一源数据库实例同时创建装载和只读数据库副本。您可以将只读副本更改为装载模式,或将装载副本更改为只读模式。在两种情况下,Oracle 数据库都会保留存档日志保留设置。

下表汇总了装载副本与只读副本之间的区别,以帮助您选择正确的模式。

装载副本和只读副本模式对比
功能 装载模式 只读模式
主要使用案例 提供灾难恢复,不提供读取分流 提供灾难恢复并提供读取分流
查询访问 不支持(副本不接受用户连接) 支持(可以在副本上运行 SELECT 查询)
许可要求 Oracle Data Guard(无需 Active Data Guard 许可) 需要 Active Data Guard 许可
资源使用 较低(没有查询处理开销) 较高(可用于处理读取工作负载)
何时选择 您只需要一个用于失效转移的备用副本,并希望将成本降至最低 您需要分流主服务器的报告或分析查询

CDB 的只读副本

RDS for Oracle 同时在单租户和多租户配置中对于 Oracle Database 19c 和 21c CDB 支持 Data Guard 只读副本。您可以在 CDB 中创建、管理和提升只读副本,就像在非 CDB 中一样。还支持已装载的副本。您可以获得以下好处:

要使用此功能,您需要有关副本和主数据库实例的有效 Data Guard 许可证和 Oracle 数据库企业版许可证。没有与使用 CDB 架构相关的额外费用。您只需为数据库实例付费。

有关 CDB 架构的单租户配置和多租户配置的更多信息,请参阅RDS for Oracle CDB 概述

归档重做日志保留

如果主数据库实例没有跨区域只读副本,则 Amazon RDS for Oracle 会在源数据库实例上至少保留两个小时的存档重做日志。无论在 rdsadmin.rdsadmin_util.set_configurationarchivelog retention hours 的设置为何,都是这种情况。

两小时之后或在传递归档日志保留小时数设置之后,RDS 会从源数据库实例中清除日志,以时间较长者为准。传递归档日志保留小时数设置之后,仅当日志已成功应用到数据库时,RDS 才会从只读副本清除日志。

在某些情况下,主数据库实例可能具有一个或多个跨区域只读副本。如果是这样,则 Amazon RDS for Oracle 将保留源数据库实例上的事务日志,直到将它们传输并应用到所有跨区域只读副本为止。有关 rdsadmin.rdsadmin_util.set_configuration 的信息,请参阅保留归档重做日志

Oracle 复制过程中的中断

当您创建只读副本时,Amazon RDS 会制作源数据库实例的数据库快照,然后开始复制。数据库快照操作开始时,源数据库实例会经历非常短暂的 I/O 暂停。这种 I/O 暂停通常持续大约一秒时间。如果源数据库实例为多可用区部署,则可避免 I/O 暂停,因为在这种情况下,会从辅助数据库实例制作数据库快照。

数据库快照变成 Oracle 副本。Amazon RDS 为源数据库和副本设置必要的参数和权限,而不会中断服务。同样,如果删除副本,也不会发生中断。