---
title: 如何手动执行切主-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 如何手动执行切主相关的常见问题和使用技巧，帮助您快速解决 如何手动执行切主的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 如何手动执行切主

更新时间：2024-01-22 01:56

适用版本： V2.2.x、V3.1.x、V3.2.x 内容类型：How-to  

## 背景信息

切主动作分为手动切主和自动切主。 切主一般是指针对一个租户或多个租户下的表进行 Paxos Leader 的重新选举，结果是租户下副本 leader 分布在另一个期望的节点上的行为。

自动切主无需人工干预，比如：某台机器的硬件故障导致无法提供服务，或者 observer 进程意外退出。 某些场景下，需要手动执行切主动作来进行问题的应急，或者进行测试工作。

## 手动切主

手动切主有以下几种方法。

- 通过修改租户的 primary zone 来执行切主动作。

  #### 注意

  使用此方法需要开启 `enable_auto_leader_switch` 配置项，关于配置项 `enable_auto_leader_switch`，请参见 [enable_auto_leader_switch](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355714)。

  推荐此方法，执行的级别为租户级别。可以单独对某一个或多个租户切主。具体语句如下。

  ```sql
  alter tenant <tenant name> set primary_zone='z1;z2,z3';

  ```
 - 通过对分区的副本 leader 改选，以达到切主目的。

  ```sql
  alter system switch replica {LEADER | FOLLOWER}
        { partition_id_desc SERVER [=] 'ip:port'
          | SERVER [=] 'ip:port' [tenant_name]
          | ZONE [=] 'zone' [tenant_name]
          }

  ```
 - 通过隔离或者停止 zone、节点，以达到切主目的。

  此方法在应急中实际上是执行切主动作的，缺点是范围是节点或者 zone 级别。

  通常某个机房网络问题导致整个机房不稳定（不是完全不可用）的情况下，可以隔离或者停止 zone、节点，停止业务流量到该问题机房，同时执行切主。

     - 停止 zone、节点。

      ```sql
      alter system stop zone <zone name>;

      ```

      ```sql
      alter system stop server <ip:port>;

      ```
     - 隔离 zone、节点。

      ```sql
      alter system isolate zone <zone name>;

      ```

      ```sql
      alter system isolate server <ip:port>;

      ```

## 适用版本

OceanBase 数据库 V2.x、V3.x 版本。

Previous

[SYS 租户下建索引表导致 1 号表无主](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000426101)

Next

[如何开启数据副本自动切主](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000072) ![有帮助](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) 咨询热线
