---
title: 如何修改 OceanBase 集群的区域与机房信息-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于如何修改 OceanBase 集群的区域与机房信息相关的常见问题和使用技巧，帮助您快速解决如何修改 OceanBase 集群的区域与机房信息的难题。
---
切换语言

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

划线反馈

# 如何修改 OceanBase 集群的区域与机房信息

更新时间：2026-07-02 15:41

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

部署 OceanBase 集群过程中，需要指定每台 OBServer 的区域（Region）与机房（IDC）。Region 和 IDC 是 OceanBase 数据库负载均衡和 SQL 语句路由策略的参考项，Region 或 IDC 设置不正确时需要修改。本文以单 Region 修改为 2 Region 3 IDC 为例，介绍如何修改 OceanBase 集群的区域与机房信息。

现有 9 台 OBServer 的 REGION 为 `bj`，IDC 为 `bj_dxh`，IP 地址为 xxx.xxx.xxx.1 ~ xxx.xxx.xxx.9。该集群具有三个 Zone，分别为 `cim_sc_z1`、`cim_sc_z2`、`cim_sc_z3`，三个 Zone 的 REGION 均为 `bj`，IDC 均为 `bj_dxh`。

现要将 `cim_sc_z1`、`cim_sc_z2` 的 REGION 设置为 `bj_0`，`cim_sc_z3` 的 REGION 设置为 `bj_1`。将 `cim_sc_z1` 的 IDC 设置为 `bj_dxh1`，`cim_sc_z2` 的 IDC 设置为 `bj_dxh2`，`cim_sc_z3` 的 IDC 设置为 `bj_dxh3`。

## 适用版本

OceanBase 数据库所有版本

## 修改 OCP MetaDB 库

1. 登录 OCP MetaDB 库。
 2. 查询名称为 `bj` 的 REGION 的 ID。

   ```unknow
   obclient> SELECT name,id FROM compute_region WHERE name='bj';

   ```
 3. 将原来的 REGION 修改为 `bj_0`，再创建一个新的 REGION `bj_1`。

   ```unknow
   obclient> UPDATE compute_region SET name='bj_0' WHERE id=1000001;
   obclient> INSERT INTO compute_region(name,create_time,update_time) VALUES ('bj_1',now(),now());

   ```
 4. 将原来的 IDC 修改为 `bj_dxh_0`，再创建两个新的 IDC `bj_dxh_1` 与 `bj_dxh_2`。

   ```unknow
   obclient> UPDATE compute_idc SET name='bj_dxh_0' WHERE id=1000001;
   obclient> INSERT INTO compute_idc(name,create_time,update_time,region_id) VALUES ('bj_dxh_1',now(),now(),1000001);
   obclient> INSERT INTO compute_idc(name,create_time,update_time,region_id) VALUES ('bj_dxh_2',now(),now(),1000002);

   ```
 5. 将 9 台 OBServer 分配到三个 IDC 中。

   ```unknow
   obclient> UPDATE compute_host SET idc_id=1000002 WHERE inner_ip_address IN ('xxx.xxx.xxx.4','xxx.xxx.xxx.5','xxx.xxx.xxx.6');
   obclient> UPDATE compute_host SET idc_id=1000003 WHERE inner_ip_address IN ('xxx.xxx.xxx.7','xxx.xxx.xxx.8','xxx.xxx.xxx.9');

   ```

## 修改 OceanBase 数据库集群

在更改了 Region 与 IDC 的各台 OBServer 上执行以下语句，进行以下设置。

1. 将 `cim_sc_z1` 的 IDC 设置为 `bj_dxh_0`，REGION 设置为 `bj_0`。

```unknow
obclient> ALTER SYSTEM ALTER ZONE cim_sc_z1 SET idc = "bj_dxh_0";
obclient> ALTER SYSTEM ALTER ZONE cim_sc_z1 SET region = "bj_0";

```

2. `cim_sc_z2` 的 IDC 设置为 `bj_dxh_1`，REGION 设置为 `bj_0`。

```unknow
obclient> ALTER SYSTEM ALTER ZONE cim_sc_z2 SET idc = "bj_dxh_1";
obclient> ALTER SYSTEM ALTER ZONE cim_sc_z2 SET region = "bj_0";

```

3. `cim_sc_z3` 的 IDC 设置为 `bj_dxh_2`，REGION 设置为 `bj_1`。

```unknow
obclient> ALTER SYSTEM ALTER ZONE cim_sc_z3 SET idc = "bj_dxh_2";
obclient> ALTER SYSTEM ALTER ZONE cim_sc_z3 SET region = "bj_1";

```

## 修改 OBProxy 的配置

在所有 OBServer 上执行以下语句，修改 OBProxy 的配置。

```shell
obclient> ALTER PROXYCONFIG SET proxy_idc_name='bj_dxh_0';

```

上一篇

[启动 OceanBase 时 -o 内的参数是否会持久化](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000207644)

下一篇

[如何使用脚本展示参数配置的历史变化](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000001019) ![有帮助](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) 咨询热线
