RDS for Oracle 副本的要求和注意事项 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

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

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

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

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

  • 只有使用版本 Oracle Database 12c 第 1 版(12.1.0.2.v10)以及更高 12c 版本创建的数据库实例以及 Oracle Database 19c 的非 CDB 实例才支持非 CDB 的 Oracle 副本。

  • 只有使用版本 Oracle Database 19c 及更高版本创建的 CDB 实例才支持 CDB 的 Oracle 副本。

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

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

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

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

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

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

RDS for Oracle 副本的选项组注意事项

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

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

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

  • 在您创建 RDS for Oracle 跨区域副本时,Amazon RDS 会为其创建专用选项组。

    您无法从专用选项组中删除 RDS for Oracle 跨区域副本。任何其他数据库实例都无法为 RDS for Oracle 跨区域副本使用专用选项组。

    您只能在专用选项组中添加或删除以下非复制选项:

    • NATIVE_NETWORK_ENCRYPTION

    • OEM

    • OEM_AGENT

    • SSL

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

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

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

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;
  • 只读副本支持块更改跟踪,但装载副本不支持。您可以将装载副本更改为只读副本,然后启用块更改跟踪。有关更多信息,请参阅启用和禁用数据块更改跟踪