---
title: "通过命令行执行 Switchover 流程 | OceanBase 文档中心"
description: 通过命令行执行 Switchover 流程 本节主要介绍如何通过命令行方式执行 Switchover 流程，进行主备库切换。 Switchover 的流程为先将主集群切换为备集群，再将备集群切换为主集群。 切换前准备 进行角色切换前，需要先获取集群信息以及选择合适的备集群。 详细的操作，参见 切换前准备 。 主集群切…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.2.3 企业版 LTS

# 通过命令行执行 Switchover 流程

更新时间：2023-07-19 13:03:06

本节主要介绍如何通过命令行方式执行 Switchover 流程，进行主备库切换。

Switchover 的流程为先将主集群切换为备集群，再将备集群切换为主集群。

## 切换前准备

进行角色切换前，需要先获取集群信息以及选择合适的备集群。

详细的操作，参见 [切换前准备](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355876)。

## 主集群切换为备集群

> **注意**
>
>  
>
> 验证主集群是否能够切换为备集群角色，以下查询操作均须先切换到 oceanbase 库中进行。

1. 在主集群上查询 `V$OB_CLUSTER` 视图的 `SWITCHOVER_STATUS` 和 `SWITCHOVER_INFO` 字段。

   示例如下：

   ```sql
   obclient> SELECT SWITCHOVER_STATUS, SWITCHOVER_INFO FROM V$OB_CLUSTER;
   +-------------------+------------------------------+
   | SWITCHOVER_STATUS | SWITCHOVER_INFO              |
   +-------------------+------------------------------+
   | TO STANDBY        | SYNCED STANDBY CLUSTERS: 2,3 |
   +-------------------+------------------------------+
   1 row in set

   ```

   其中：

      - `SWITCHOVER_STATUS` 展示了当前的切换状态，`TO STANDBY` 表示可以切换为备集群。如果为 `NOT ALLOWED` 或其他值，则说明当前不满足切换条件。
      - 在 `TO STANDBY` 状态下，`SWITCHOVER_INFO` 字段展示了当前可以切换为主集群的备集群列表，例如：`SYNCED STANDBY CLUSTERS: 2,3` 表示 `CLUSTER_ID` 为 `2` 和 `3` 的备集群均可以切换为主集群。
      - 在 `NOT ALLOWED` 状态下，`SWITCHOVER_INFO` 字段展示了不允许切换的原因，例如：`CHECK PRIMARY CLUSTER SERVER STATUS` 表示需要检查主集群的 Server 状态。OceanBase 数据库要求所有 Server 都在线才能执行 Switchover，如果有部分 Server 不在线，则不允许切换。

       更多 `SWITCHOVER_INFO` 字段取值对应的问题排查，请参见 [Switchover 相关的问题](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355887)。
 2. 在主集群上执行以下命令，将角色切换为 `PHYSICAL STANDBY`。

   ```sql
   obclient>  ALTER SYSTEM COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
   Query OK, 0 rows affected

   ```

   命令执行完成后，主集群会切换为备集群角色，执行以下命令，可以看到 `SWITCHOVER_STATUS` 变为 `SWTICHOVER SWITCHING`。

   ```sql
   obclient> SELECT CLUSTER_ID, CLUSTER_ROLE, SWITCHOVER_STATUS FROM V$OB_CLUSTER;
   +------------+------------------+----------------------+
   | CLUSTER_ID |    CLUSTER_ROLE  | SWITCHOVER_STATUS    |
   +------------+------------------+----------------------+
   |          1 | PHYSICAL STANDBY | SWITCHOVER SWITCHING |
   +------------+------------------+----------------------+
   1 row in set

   ```

## 备集群切换为主集群

1. 在目标备集群上执行以下命令，验证是否可以切换为主集群。

   ```sql
   obclient> SELECT SWITCHOVER_STATUS, SWITCHOVER_INFO FROM V$OB_CLUSTER;
   +-------------------+-----------------+
   | SWITCHOVER_STATUS | SWITCHOVER_INFO |
   +-------------------+-----------------+
   | TO PRIMARY        |                 |
   +-------------------+-----------------+
   1 row in set

   ```

   `SWITCHOVER_STATUS` 字段为 `TO PRIMARY` 表示可以切换为主集群；如果值为 `NOT ALLOWED`，则表示本备集群不允许切换为主集群，`SWITCHOVER_INFO` 字段会展示相应的原因。

   如果没有备集群允许切换为主集群，则可以在原主集群上执行以下命令，将切换操作回滚，切换回主集群角色。

   ```sql
   obclient> ALTER SYSTEM COMMIT TO SWITCHOVER TO PRIMARY;
   Query OK, 0 rows affected

   ```
 2. 如果满足切换条件，则在目标备集群上执行以下命令，切换为主集群。

   ```

   命令执行成功后，备集群切换为主集群角色，您可以执行以下命令，查询 `V$OB_CLUSTER` 视图，确认是否切换成功。

   ```sql
   obclient> SELECT CLUSTER_ID, CLUSTER_ROLE, SWITCHOVER_STATUS, SWITCHOVER_INFO FROM V$OB_CLUSTER;
   +------------+--------------+-------------------+------------------------------+
   | CLUSTER_ID | CLUSTER_ROLE | SWITCHOVER_STATUS |SWITCHOVER_INFO               |
   +------------+--------------+-------------------+------------------------------+
   |          2 |     PRIMARY  |     TO STANDBY    | SYNCED STANDBY CLUSTERS: 1,3 |
   +------------+--------------+-------------------+------------------------------+
   1    row in set

   ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
