---
title: "隔离故障 Zone | OceanBase 文档中心"
description: 隔离故障 Zone 当 Zone 发生故障时，您可以隔离故障 Zone。隔离后，新的读写请求不会路由到该故障 Zone 内的进程上。执行隔离故障 Zone 后，该 Zone 处于 stopped 状态。隔离操作会限制本 Zone 上面不能有主副本（Leader），将故障 Zone 上的 Leader 切换到其他机器上…
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

# 隔离故障 Zone

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

当 Zone 发生故障时，您可以隔离故障 Zone。隔离后，新的读写请求不会路由到该故障 Zone 内的进程上。执行隔离故障 Zone 后，该 Zone 处于 `stopped` 状态。隔离操作会限制本 Zone 上面不能有主副本（Leader），将故障 Zone 上的 Leader 切换到其他机器上，以此尝试恢复用户的写服务和集群内的日志同步。

如果需要重启故障机器才能解除故障，可以执行 [重启 OBServer](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355937) 操作。为了安全，建议先执行 [STOP SERVER](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355936) 操作停止故障机器，然后再重启机器。如果 Zone 内机器都需要重启，也可以执行 [STOP ZONE](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355930) 操作停止故障 Zone。[STOP SERVER](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355936) 和 [STOP ZONE](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355930) 可以保证 Server 可以安全的被重启。

待整体的故障恢复以后，需要执行 [START ZONE](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355930)，操作，Leader 才能切回来。

> **说明**
>
>  
>
> - Zone 故障可能是 Zone 内机器网络隔离、Server 本身出现软件故障（请求队列积压、内存爆、进程 core 掉等）导致不能正常提供服务。
>  - 有关副本的信息介绍，请参见 [分布式数据库对象概述](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000354516)。

隔离故障 Zone 的 SQL 语句如下：

```sql
obclient> ALTER SYSTEM ISOLATE ZONE 'zone_name';

```

该语句仅支持在 `sys` 租户中执行。

示例：

1. 使用 `root` 用户登录数据库的 `sys` 租户。
 2. 执行以下命令，隔离故障的机器。

   ```sql
   obclient> ALTER SYSTEM ISOLATE ZONE 'zone1';

   ```

   SQL 语句执行成功，则表示隔离故障 Zone 的操作执行成功。同时，可以看到 `__all_zone` 内部表中，该隔离 Zone 的 `name` 列中 `status` 字段为 `INACTIVE`，表示该 Zone 处于 `INACTIVE`状态。

   查看 `oceanbase.__all_zone` 内部表的示例如下：

   ```sql
   obclient> SELECT * FROM oceanbase.__all_zone WHERE zone= 'zone1';
   +----------------------------+----------------------------+-------+---------------------+------------------+-----------+
   | gmt_create                 | gmt_modified               | zone  | name                | value            | info      |
   +----------------------------+----------------------------+-------+---------------------+------------------+-----------+
   | 2021-11-22 18:00:13.814701 | 2022-01-04 02:00:38.221218 | zone1 | all_merged_version  |               45 |           |
   | 2021-11-22 18:00:13.814422 | 2022-01-04 02:00:21.210032 | zone1 | broadcast_version   |               45 |           |
   | 2021-11-22 18:00:13.815255 | 2021-11-22 18:00:22.691700 | zone1 | idc                 |                0 | BJ1       |
   | 2021-11-22 18:00:13.814904 | 2022-01-04 02:00:38.220994 | zone1 | is_merge_timeout    |                0 |           |
   | 2021-11-22 18:00:13.814331 | 2022-01-04 02:00:38.220232 | zone1 | is_merging          |                0 |           |
   | 2021-11-22 18:00:13.814600 | 2022-01-04 02:00:38.220771 | zone1 | last_merged_time    | 1641232838219704 |           |
   | 2021-11-22 18:00:13.814510 | 2022-01-04 02:00:38.220535 | zone1 | last_merged_version |               45 |           |
   | 2021-11-22 18:00:13.814809 | 2022-01-04 02:00:21.210365 | zone1 | merge_start_time    | 1641232821208596 |           |
   | 2021-11-22 18:00:13.815080 | 2022-01-04 02:00:38.221669 | zone1 | merge_status        |                0 | IDLE      |
   | 2021-11-22 18:00:13.815168 | 2021-11-22 18:00:13.815168 | zone1 | region              |                0 | BEIJING   |
   | 2021-11-22 18:00:13.814239 | 2021-11-22 18:00:13.814239 | zone1 | status              |                2 | INACTIVE  |
   | 2021-11-22 18:00:13.814993 | 2021-11-22 18:00:13.814993 | zone1 | suspend_merging     |                0 |           |
   | 2021-11-22 18:00:13.815343 | 2021-11-22 18:00:13.815343 | zone1 | zone_type           |                0 | ReadWrite |
   +----------------------------+----------------------------+-------+---------------------+------------------+-----------+
   13 rows in set

   ```

隔离故障的 Zone 后，如果需要解除隔离状态，您可以通过执行 `ALTER SYSTEM START ZONE 'zone1'` 命令来完成。

 上一篇 下一篇 ![有帮助](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) 咨询热线
