RDS for Oracle 副本的要求和注意事项 - Amazon Relational Database Service

RDS for Oracle 副本的要求和注意事项

在创建 Oracle 副本之前,请先熟悉以下要求和注意事项。

RDS for Oracle 副本的版本和许可要求

在创建 RDS for Oracle 副本之前,请考虑以下事项:

  • 如果副本处于只读模式,请确保您拥有 Active Data Guard 许可证。如果将副本置于装载模式,则不需要 Active Data Guard 许可证。只有 Oracle 数据库引擎支持装载副本。

  • Oracle 副本仅受 Oracle Enterprise Edition(EE)支持。

  • 仅使用运行 Oracle Database 19c 的非 CDB 实例创建的数据库实例支持非 CDB 的 Oracle 副本。

  • Oracle 副本仅适用于在具有两个或更多 vCPU 的数据库实例类上运行的数据库实例。源数据库实例不能使用 db.t3.small 实例类。

  • 源数据库实例及其所有副本的 Oracle 数据库引擎版本必须相同。无论副本的维护时段为何时,Amazon RDS 都会在升级源数据库实例后立即升级副本。对于跨区域副本的主要版本升级,Amazon RDS 会自动执行以下操作:

    • 为目标版本生成选项组。

    • 将所有选项和选项设置从原始选项组复制到新选项组。

    • 将升级后的跨区域副本与新选项组关联。

    有关升级数据库引擎版本的更多信息,请参阅升级 RDS for Oracle 数据库引擎

RDS for Oracle 副本的选项组限制

在创建 RDS for Oracle 副本之前,请考虑以下事项:

  • 如果 Oracle 副本与其源数据库实例位于同一AWS区域,则该副本无法使用源数据库实例中的其他选项组。对源选项组或源选项组成员资格做出的修改会传播到 Oracle 副本。不管副本的维护时段是什么,这些更改在应用到源数据库实例后,都会立即应用到副本。

    有关选项组的更多信息,请参阅 使用选项组

  • 您无法从自动为 RDS for Oracle 跨区域副本创建的专用选项组中删除该副本。

  • 您无法将 RDS for Oracle 跨区域副本的专用选项组添加到其他数据库实例。

  • 您只能在 RDS for Oracle 跨区域副本的专用选项组中添加或删除以下非复制选项:

    • NATIVE_NETWORK_ENCRYPTION

    • OEM

    • OEM_AGENT

    • SSL

    要将其他选项添加到 RDS for Oracle 跨区域副本,请将它们添加到源数据库实例的选项组中。选项还会安装在源数据库实例的所有副本上。对于许可选项,请确保副本具有足够的许可证。

    提升 RDS for Oracle 跨区域副本时,提升后的副本的行为将与其他 Oracle 数据库实例的行为相同,包括其选项的管理。您可以通过删除副本的源数据库实例来显式或隐式提升副本。

    有关选项组的更多信息,请参阅 使用选项组

  • RDS for Oracle 跨区域副本不支持 EFS_INTEGRATION 选项。

RDS for Oracle 的备份和还原注意事项

在创建 RDS for Oracle 副本之前,请考虑以下事项:

  • 要创建 RDS for Oracle 副本的快照或开启自动备份,请确保手动设置备份保留期。原定设置情况下,自动备份处于开启状态。

  • 还原副本备份时,将还原到数据库时间,而不是进行备份的时间。数据库时间指备份中数据的最新应用的事务时间。差异很大,因为副本可能会落后于主数据库数分钟或数小时。

    要查找差异,请使用 describe-db-snapshots 命令。比较 snapshotDatabaseTime(这是副本备份的数据库时间)与 OriginalSnapshotCreateTime 字段(这是主数据库上最新应用的事务)。

RDS for Oracle 副本的 Oracle Data Guard 要求和限制

在创建 RDS for Oracle 副本之前,请注意以下要求和限制:

  • 如果您的主数据库实例使用多租户架构的单租户配置,请考虑以下几点:

    • 您必须将 Oracle Database 19c 或更高版本与企业版一起使用。

    • 您的主 CDB 实例必须位于 ACTIVE 生命周期。

    • 您不能将非 CDB 主实例转换为 CDB 实例,也不能在同一操作中转换其副本。而是应删除非 CDB 副本,将主数据库实例转换为 CDB,然后创建新的副本。

  • 确保主数据库实例上的登录触发器允许 RDS_DATAGUARD 用户以及 AUTHENTICATED_IDENTITY 值为 RDS_DATAGUARDrdsdb 的任何用户进行访问。此外,触发器不得为 RDS_DATAGUARD 用户设置当前架构。

  • 为了避免阻止来自 Data Guard 代理进程的连接,请不要启用受限会话。有关受限会话的更多信息,请参阅 启用和禁用受限制的会话

RDS for Oracle 副本的其他注意事项

在创建 RDS for Oracle 副本之前,请考虑以下事项:

  • 如果您的数据库实例是一个或多个跨区域副本的源,该源数据库将会保留其归档重做日志文件,直到在所有跨区域副本上应用这些日志文件为止。存档重做日志可能会导致存储消耗增加。

  • 为避免 RDS 自动化发生中断,系统触发器必须允许特定用户登录主数据库和副本数据库。系统触发器包括 DDL、登录和数据库角色触发器。我们建议您向触发器添加代码,来排除以下示例代码中列出的用户:

    -- Determine who the user is SELECT SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY') INTO CURRENT_USER FROM DUAL; -- The following users should always be able to login to either the Primary or Replica IF CURRENT_USER IN ('master_user', 'SYS', 'SYSTEM', 'RDS_DATAGUARD', 'rdsdb') THEN RETURN; END IF;
  • 只读副本支持块更改跟踪,但装载副本不支持。您可以将装载副本更改为只读副本,然后启用块更改跟踪。有关更多信息,请参阅 启用和禁用数据块更改跟踪