高可用性
关于 OCI GoldenGate 中的高可用性
高可用性是系统在很长一段时间内保持运行和可访问的能力。要利用 OCI GoldenGate 实现高可用性,您可以在主部署(本地备用)或不同区域(跨区域备用)的同一区域中创建对等部署。此设置可确保恢复点目标 (Recovery Point Objective,RPO) 为零,恢复点目标是在备用可用性域 (Availability Domain,AD) 中恢复 OCI GoldenGate 之前丢失的最大数据量。恢复时间目标 (Recovery Time Objective,RTO) 是备用 AD 中恢复 OCI GoldenGate 的最大时间量,具体取决于部署中存储的数据量。存储利用率越高,RTO 的使用时间就越长。
请考虑选择与源实例和目标实例相同的备用区域。例如,如果您的 Autonomous AI Database 备用数据库位于法兰克福,请为您的 OCI GoldenGate 部署备用数据库选择法兰克福。
注意:
对等部署按与主部署相同的费率计费。了解有关 OCPU 管理和计费的更多信息。概念
以下概念对于实现 OCI GoldenGate 高可用性至关重要:
- 主要部署:首先创建的主要数据复制部署。
- 对等部署:在发生灾难或服务中断时可以切换到的备用部署。
- 本地对等端:对等端部署与主部署位于同一区域,但位于不同的可用性域或容错域中。
- 远程对等部署:驻留在其他区域的对等部署。
- 恢复点目标 (Recovery Point Objective,RPO):恢复 OCI GoldenGate 之前可能丢失的最大数据量。对于 OCI GoldenGate ,RPO 为零。
- 恢复时间目标 (Recovery Time Objective,RTO):恢复 GoldenGate 的最大时间量。RTO 取决于部署中存储的数据量。存储利用率越高,RTO 越长。
启用 Data Guard 的基本数据库连接
如果对 OCI GoldenGate 源或目标使用启用了 Data Guard 的基本数据库,则在实施高可用性解决方案时,必须确保数据库连接字符串中的服务名称在对等方之间是相同的。
在创建与启用 Data Guard 的 Oracle Base Database 系统(容器数据库 (Container Database,CDB) 或可插入数据库 (Pluggable Database,PDB) 的 OCI GoldenGate 连接时, OCI GoldenGate 将检索数据库的默认连接字符串并生成适合 Data Guard 环境的合并 Oracle Net 连接描述符。例如:
(DESCRIPTION=
(FAILOVER=ON)(LOAD_BALANCE=OFF)(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=primary-or-scan.example.fqdn)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=standby-or-scan.example.fqdn)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=default-service-name-of-the-selected-db))
)OCI GoldenGate 生成一个说明,其中包含对等端点(主端点和备用端点)的 ADDRESS_LIST 和 CONNECT_DATA 的单个 SERVICE_NAME。OCI GoldenGate 的高可用性解决方案要求所有对等节点(主节点和备用节点)使用相同的服务名称。在每个对等点上具有相同名称的基于角色的服务是必需的。
默认 CDB 服务名称通常在对等方之间有所不同,因为它们通常包括每个数据库的唯一名称。OCI GoldenGate 将所选数据库的默认服务名用作合并描述符中的 SERVICE_NAME。因此,必须在每个对等点上重命名基于 PRIMARY 角色的服务名称,以匹配默认服务名称。
提示:
- 使用基于角色的服务。定义仅在 PRIMARY 上运行的读/写服务(以及使用 Data Guard 时可选在 PHYSICAL_STANDBY 上运行的只读服务)。
- 为应用程序服务避免静态监听程序条目。使用动态注册,以便仅当数据库处于正确的角色时才通告服务。
- 如果使用 srvctl 更改 CDB 或 PDB 服务名称,请确保在 OCI GoldenGate 中创建手动管理的连接(在“创建连接”屏幕中选择输入数据库信息),然后更新连接字符串以进行匹配。