设置将来的辅助数据库
在 Oracle Cloud Infrastructure (OCI) 中建立第一个物理备用数据库后,您将在另一个区域中创建第二个物理备用数据库。第二个数据库是基于云的灾难恢复环境中的数据库。
Oracle Data Guard 级联备用功能,即第二个备用数据库从第一个备用数据库(而不是直接从本地主数据库)接收 redo
,可减少来自内部部署主机站点的网络流量。它还将确定最终将成为主要 redo
传播路由的内容。
目前,由于存在一些限制,我们无法使用 OCI 工具来建立和全面管理未来的灾难恢复数据库。Oracle Data Guard 关联云服务当前无法注册现有的备用数据库关系,也无法管理备用数据库配置。因此,例如,无法使用 Oracle Managed Disaster Recovery Cloud Service。
由于两个备用数据库都使用基于 OCI 的占位符数据库建立,因此 OCI 控制层可以管理每个数据库的打补丁和其他生命周期活动。
为数据库还原做准备
配置新 Oracle 主目录以准备还原数据库。
- 调整每个环境中的
tnsnames.ora
文件以了解其他每个数据库。验证环境之间的通信。 - 从第一个备用数据库复制口令文件。
- 从第一个备用数据库复制透明数据加密 (Transparent Data Encryption,TDE) wallet。
- 调整级联备用数据库的数据库参数。
为级联备用配置 TNS
调整每个环境中的 tnsnames.ora
文件以了解其他每个数据库。验证环境之间的通信。
- 将级联备用数据库的 TNS 连接字符串添加到本地主数据库和第一个备用数据库的所有 Oracle Real Application Clusters (Oracle RAC) 实例使用的
tnsnames.ora
文件 - 将本地主数据库和第一个 OCI 备用数据库的 TNS 连接字符串添加到级联备用数据库的所有 Oracle RAC 实例使用的
tnsnames.ora
文件中。
SCAN IP
地址,而不是 SCAN
名称。以下是 Oracle Zero Downtime Migration 为我们的第一个备用数据库创建的合规 TNS 条目示例:
CDBHCM_iad1dx =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = <SCAN IPv4 address 1>) (PORT = 1521))
(ADDRESS = (PROTOCOL = TCP) (HOST = <SCAN IPv4 address 2>) (PORT = 1521))
(ADDRESS = (PROTOCOL = TCP) (HOST = <SCAN IPv4 address 3>)) (PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CDBHCM_iad1dx)
(FAILOVER_MODE =
(TYPE = select)
(METHOD = basic)
)
(UR=A)
)
)
您必须以 oracle OS 用户身份登录到每个数据库服务器,获取环境源,然后将目录更改为 $TNS_ADMIN
。
将数据库还原到级联备用数据库
将数据库从第一个物理备用数据库还原到级联备用数据库。使用 Oracle Recovery Manager (RMAN) 命令 RESTORE FROM SERVICE
恢复控制文件和数据文件。
为级联备用数据库配置 Data Guard 中介
您已通过 Oracle Zero Downtime Migration 在本地主数据库与第一个 OCI 备用数据库之间配置了 Data Guard 中介,现在可以将级联备用数据库添加到配置中。
级联备用数据库和内部部署数据库相互之间不直接通信。必要时,通过第一个内部部署备用数据库提供其 redo
:
- 当本地数据库是主数据库时,
redo
将从本地主数据库发送到或通过第一个备用数据库发送到,然后发送到级联备用数据库:- 从本地部署到 OCI 的第一个备用数据库
- OCI 第一个备用数据库连接到 OCI 级联备用数据库
- 当第一个备用数据库担任主数据库角色时,会将
redo
直接从该数据库发送到内部部署数据库和级联备用数据库:- OCI 主数据库到本地备用数据库
- OCI 主数据库到 OCI 级联备用数据库
- 如果级联备用数据库在此配置中成为主数据库,则重做将从该数据库发送到或通过 OCI 第一个备用数据库发送到或发送到内部部署数据库:
- OCI 首次备用本地部署备用数据库
- OCI 将主数据库级联到 OCI 第一个备用数据库