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_DATAGUARD
或rdsdb
的任何用户进行访问。此外,触发器不得为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; -
只读副本支持块更改跟踪,但装载副本不支持。您可以将装载副本更改为只读副本,然后启用块更改跟踪。有关更多信息,请参阅 启用和禁用数据块更改跟踪。