在使用当前主群集 cluster-newyork 上的数据重新同步原来的主群集 cluster-paris 上的数据后,可按照以下过程在原来的主群集上重新启动应用程序。
故障恢复过程仅适用于处在伙伴关系中的群集。对于每个伙伴关系而言,以下过程只需执行一次。
执行故障恢复切换之前,cluster-newyork 上已执行了接管操作。这些群集现在具有以下角色:
cluster-newyork 上的保护组分配有 primary 角色。
cluster-paris 上保护组的角色为 primary 或 secondary,具体取决于在从 cluster-newyork 群集执行接管操作期间是否可以访问 cluster-paris。
如果原始主群集 cluster-paris 发生故障,请确认是否已重新启动群集以及是否在群集上启用了 Sun Cluster Geographic Edition 基础结构。
有关重新启动群集的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“引导群集”。
将发生故障的 Oracle Data Guard 主数据库恢复为新的备用数据库。
请参阅介绍如何执行此步骤的 Oracle 文档。
确定原始主群集 cluster-paris 作为 Oracle Data Guard 配置的一部分正确运行。
oracle (phys-paris-1)$ dgmgrl sys/sysdba_password@sales-svc DGMGRL> show configuration; |
如果原始主群集 cluster-paris 正确运行,show configuration 命令会显示 SUCCESS 状态。
如果原始主群集在故障点关闭,它会标记为取消激活的主群集。如果原始主群集在故障点启动,它会标记为取消激活的辅助群集。
将原来的主群集 cluster-paris 与当前主群集 cluster-newyork 重新同步。
群集 cluster-paris 将不再使用它自己的配置并在本地复制 cluster-newyork 配置。重新同步伙伴关系和保护组配置。
在 cluster-paris 上重新同步伙伴关系。
phys-paris-1# geops update partnershipname |
对于每个伙伴关系而言,即使是要对该伙伴关系中的多个保护组执行故障恢复切换操作,也只需为该伙伴关系执行一次此步骤即可。
有关对伙伴关系进行同步的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“重新同步伙伴关系”。
确定原来的主群集 cluster-paris 上的保护组是否处于活动状态。
phys-paris-1# geoadm status |
如果原来的主群集上的保护组处于活动状态,则将其停止。
phys-paris-1# geopg stop -e local protectiongroupname |
指定命令的范围。
指定 local 范围后,该命令将仅在本地群集上有效。
属性值(例如 global 和 local)不区分大小写。
指定保护组的名称。
如果保护组已处于取消激活状态,则保护组中资源组的状态可能为 Error,因为应用程序资源组处于受管和脱机状态。
如果取消激活保护组,则应用程序资源组将不再处于受管状态,从而退出 Error 状态。
检验保护组是否已停止。
phys-paris-1# geoadm status |
在 cluster-paris 上重新同步每个保护组。
由于 cluster-newyork 群集上保护组的本地角色现在为 primary,因此此步骤可确保 cluster-paris 群集上保护组的角色变为 secondary。
phys-paris-1# geopg update protectiongroupname |
有关同步保护组的更多信息,请参见重新同步 Oracle Data Guard 保护组。
在 cluster-paris 上验证每个保护组的配置。
保护组处于 Error 状态时是无法启动的。因此,请确保保护组不处于 Error 状态。
phys-paris-1# geopg validate protectiongroupname |
有关更多信息,请参见如何验证 Oracle Data Guard 保护组。
在 cluster-paris 上激活每个保护组。
在激活保护组时,它的应用程序资源组也会进入联机状态。
phys-paris-1# geopg start -e global protectiongroupname |
指定命令的范围。
通过指定 Global 范围,该命令在保护组所在的两个群集上均生效。
属性值(例如 global 和 local)不区分大小写。
指定保护组的名称。
确认数据已完全同步。
确保两个伙伴群集上的保护组处于激活状态。
phys-paris-1# geoadm status … phys-newyork-1# geoadm status … |
对于任一群集上的每个保护组,执行从 cluster-newyork 到 cluster-paris 的切换。
phys-node-n# geopg switchover [-f] -m cluster-paris protectiongroupname |
有关更多信息,请参见如何将 Oracle Data Guard 保护组从主群集切换到备用群集。
cluster-paris 群集恢复它保护组主群集的原有角色。
确保成功执行了切换操作。
phys-node-n# geoadm status |
检验该保护组现在在 cluster-paris 上处于 primary 角色,在 cluster-newyork 上处于 secondary 角色,并且两个群集上 Data replication 和 Resource groups 属性的状态均显示为 OK。
检查每个 Oracle Data Guard 保护组的应用程序资源组和数据复制的运行时状态。
phys-node-n# clresourcegroup status -v resourcegroupname # clresource status -v ODGConfigurationName-odg-rep-rs |
请参阅要检查的 Oracle Data Guard Broker 配置所对应的 Status 和 Status Message 字段。有关这些字段的更多信息,请参见表 2–1。
有关数据复制的运行时状态的更多信息,请参见检查 Oracle Data Guard 数据复制的运行时状态。