RDS Custom for Oracle 复制的指南和限制
创建 RDS Custom for Oracle 副本时,并非所有 RDS Oracle 副本选项都受支持。
主题
RDS Custom for Oracle 复制的一般指南
使用 RDS Custom for Oracle 时,请遵循以下指南:
-
您只能在 Oracle Enterprise Edition 中使用 RDS Custom for Oracle 复制。不支持 Standard Edition 2。
-
强烈建议您实施 VPN 隧道来加密主实例和备用实例之间的通信。有关更多信息,请参阅 在 RDS Custom for Oracle 主实例和副本实例之间配置 VPN 隧道。
-
不要修改
RDS_DATAGUARD
用户。此用户保留用于 RDS Custom for Oracle 自动化。修改此用户可能会导致不希望的结果,例如无法为 RDS Custom for Oracle 数据库实例创建 Oracle 副本。 -
不要更改复制用户密码。管理 RDS Custom 主机上的 Oracle Data Guard 配置需要使用此密码。如果您更改密码,RDS Custom for Oracle 可能会将您的 Oracle 副本置于支持外围之外。有关更多信息,请参阅 RDS Custom 支持外围。
此密码存储在 Amazon Secrets Manager 中,用数据库资源 ID 进行标记。每个 Oracle 副本在 Secret Manager 中都有自己的密钥。密钥使用以下任一命名格式。
do-not-delete-rds-custom-db-
DB_resource_id
-uuid
-dg rds-custom!oracle-do-not-delete-DB_resource_id
-uuid
-dg -
不要更改主数据库实例的
DB_UNIQUE_NAME
。更改名称会导致任何还原操作卡住。 -
不要在 RDS Custom CDB 的
CREATE PLUGGABLE DATABASE
命令中指定子句STANDBYS=NONE
。这样,如果发生失效转移,您的备用 CDB 将包含所有 PDB。
RDS Custom for Oracle 复制的一般限制
RDS Custom for Oracle 副本具有以下限制:
-
无法在只读模式下创建 RDS Custom for Oracle 副本。但是,您可以将已挂载副本的模式手动更改为只读,以及从只读更改为已挂载。有关更多信息,请参阅 create-db-instance-read-replica Amazon CLI 命令的文档。
-
您无法创建跨区域 RDS Custom for Oracle 副本。
-
您无法更改 Oracle Data Guard
CommunicationTimeout
参数的值。对于 RDS Custom for Oracle 数据库实例,此参数设置为 15 秒。
RDS Custom for Oracle 复制的网络要求和限制
确保您的网络配置支持 RDS Custom for Oracle 副本。请考虑以下事项:
-
确保为主数据库实例和其所有副本的虚拟私有云(VPC)内的入站和出站通信启用端口 1140。这对于只读副本之间的 Oracle Data Guard 通信是必需的。
-
RDS Custom for Oracle 会在创建 Oracle 副本时对网络进行验证。如果主数据库实例和新副本无法通过网络连接,则 RDS Custom for Oracle 不会创建副本并将其置于
INCOMPATIBLE_NETWORK
状态。 -
对于外部 Oracle 副本,例如您在 Amazon EC2 或本地创建的只读副本,请使用另一个端口和侦听器进行 Oracle Data Guard 复制。尝试使用端口 1140 可能会导致与 RDS Custom 自动化发生冲突。
-
/rdsdbdata/config/tnsnames.ora
文件包含映射到侦听器协议地址的网络服务名称。请注意以下要求和建议:-
当处理 Oracle 副本操作时,
tnsnames.ora
中前缀为rds_custom_
的条目保留用于 RDS Custom。在
tnsnames.ora
中创建手动条目时,不要使用此前缀。 -
在某些情况下,您可能希望手动切换或进行失效转移,或者使用快速启动失效转移 (FSFO) 等失效转移技术。如果是这样,请确保将
tnsnames.ora
条目从主数据库实例手动同步到所有备用实例。此建议同时适用于 RDS Custom 管理的 Oracle 副本和外部 Oracle 副本。RDS Custom 自动化只会更新主数据库实例上的
tnsnames.ora
条目。请务必在添加或删除 Oracle 副本时也要进行同步。如果您不同步
tnsnames.ora
文件并且手动切换或失效转移,主数据库实例上的 Oracle Data Guard 可能无法与 Oracle 副本进行通信。
-
RDS Custom for Oracle 的外部副本限制
RDS Custom for Oracle 外部副本(包括本地副本)具有以下限制:
-
RDS Custom for Oracle 在手动失效转移(如 FSFO)时不会检测到外部 Oracle 副本的实例角色更改。
RDS Custom for Oracle 的确会检测托管式副本的更改。角色更改在事件日志中进行了记录。您还可以通过使用 describe-db-instances Amazon CLI 命令查看新状态。
-
RDS Custom for Oracle 不检测到外部 Oracle 副本的高复制滞后。
RDS Custom for Oracle 的确会检测托管式副本的滞后。高复制滞后会产生
Replication has stopped
事件。您还可以通过使用 describe-db-instances Amazon CLI 命令查看复制状态,但它的更新可能会延迟。 -
如果您删除主数据库实例,RDS Custom for Oracle 不会自动提升外部 Oracle 副本。
自动提升功能仅适用于托管式 Oracle 副本。有关手动提升 Oracle 副本的信息,请参阅白皮书在 Amazon RDS Custom for Oracle 上使用 Data Guard 启用高可用性
。