本节主要介绍有损 Failover 后原主集群的恢复流程。

执行有损 Failover 后,新主集群与原主集群数据会不一致,不支持接入原主集群。如果您想恢复主备关系,需要执行重建流程。

操作步骤

  1. 在新主集群上删除原主集群或其他备集群,清除集群数据。

    有以下两种方法:

    • 待 OCP 恢复后,可以在 OCP 上删除集群,OCP 会自动清理集群数据。

      删除集群的具体操作请参见 删除备集群

    • 如果 OCP 不可用,可以通过命令删除集群,然后手动清理集群的进程和数据。

      1. 在新主集群上,查询其他集群信息。

        1. obclient> SELECT CLUSTER_ID, CLUSTER_ROLE, CLUSTER_STATUS FROM V$OB_STANDBY_STATUS;
        2. +-------------+-----------------------+-------------------+
        3. | CLUSTER_ID | CLUSTER_ROLE | CLUSTER_STATUS |
        4. +-------------+-----------------------+-------------------+
        5. | 1 | PHYSICAL STANDBY | DISABLED |
        6. +-------------+-----------------------+-------------------+
        7. 1 row in set
      2. 在新主集群上,删除其他集群信息。

        1. obclient> ALTER SYSTEM REMOVE CLUSTER obcluster CLUSTER_ID = 1;
        2. Query OK, 0 rows affected
      3. 手动清理集群的进程和数据。

  2. 在其他集群的机器上,搭建新的备集群,建立新的主备关系。

    注意

    执行有损 Failover 后,系统会自动发起一轮合并,此时不能立即新建备集群,需要等合并完成。

    • 可通过 OCP 执行添加备集群的操作,OCP 会自动分配全局唯一的 cluster_id。在 OCP 上添加备集群的具体操作请参见 通过 OCP 部署备集群

    • 如果 OCP 不可用,可以通过命令行执行添加备集群的流程,添加备集群时需要保证分配唯一的 cluster_id,不能与之前出现过的 cluster_id 重复。通过命令行添加备集群的具体操作请参见 通过 SQL 命令部署备集群

  3. 待新的备集群实时同步后,执行 Switchover,切换主备角色。

    Switchover 的具体操作请参见 Switchover 章节。