---
title: "通过修改 UNIT_NUM 实现租户扩缩容 | OceanBase 文档中心"
description: 通过修改 UNIT_NUM 实现租户扩缩容 对租户内资源的扩容还可以通过调大资源池中的 UNIT_NUM 来实现。当前暂不支持通过调小资源池中的 UNIT_NUM 来进行缩容。 前提条件 在进行租户的扩容操作前，需要进行以下操作： 由于空闲的资源池会被计算为占用的资源，故在扩容前，如果有租户被删除，建议与租户对应的资…
---
切换语言

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

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

# 通过修改 UNIT_NUM 实现租户扩缩容

更新时间：2026-07-03 11:53:29

对租户内资源的扩容还可以通过调大资源池中的 `UNIT_NUM` 来实现。当前暂不支持通过调小资源池中的 `UNIT_NUM` 来进行缩容。

## 前提条件

在进行租户的扩容操作前，需要进行以下操作：

- 由于空闲的资源池会被计算为占用的资源，故在扩容前，如果有租户被删除，建议与租户对应的资源池也一并删除，以便释放资源。

  删除资源池的相关操作请参见 [删除资源池](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000886141)。
 - 查看集群中资源的分配情况，了解集群中资源的使用情况。

  查看集群节点的资源总量和分配状态的相关操作请参见 [查看集群的资源信息](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000881517)。

> **注意**
>
>  
>
> 调大资源池的 `UNIT_NUM` 时，修改后的 `UNIT_NUM` 数量要小于或等于 Zone 内可用的 OBServer 数量。

## 修改租户的 UNIT_NUM

您可以通过调大租户的 `UNIT_NUM` 来进行租户的扩容。

### 背景信息

假设当前集群中共包含 3 个可用区 `z1`、`z2`、`z3`，每个 Zone 内包含 3 台 OBServer。集群中有一个普通租户 `tenant1`，其资源分配情况如下：

```sql
obclient> CREATE RESOURCE UNIT unit1 MAX_CPU 6, MIN_CPU 6, MEMORY_SIZE '36G', MAX_IOPS 1024, MIN_IOPS 1024, IOPS_WEIGHT=0, LOG_DISK_SIZE '2G';

obclient> CREATE RESOURCE POOL pool1 UNIT 'unit1', UNIT_NUM 2, ZONE_LIST ('z1','z2','z3');

obclient> CREATE TENANT tenant1 resource_pool_list=('pool1');

```

### 调大 UNIT_NUM

随着业务量的不断变大，每个 Zone 上 2 个资源单元已经无法承载当前的业务量，因此需要考虑调大 `UNIT_NUM` 来提高租户的服务能力，以满足新的业务需求。

1. 使用 `root` 用户登录到数据库的 `sys` 租户。
 2. 进入 `oceanbase` 数据库。

   ```sql
   obclient>USE oceanbase;

   ```
 3. 执行以下语句，获取当前租户的资源配置信息。

   ```sql
   obclient> SELECT a.TENANT_NAME, b.RESOURCE_POOL_ID,b.NAME resource_pool_name,b.UNIT_CONFIG_ID,b. UNIT_COUNT FROM oceanbase.DBA_OB_TENANTS a,oceanbase.DBA_OB_RESOURCE_POOLS b WHERE b.TENANT_ID=a.TENANT_ID;
   +-------------+------------------+--------------------+----------------+------------+
   | TENANT_NAME | RESOURCE_POOL_ID | resource_pool_name | UNIT_CONFIG_ID | UNIT_COUNT |
   +-------------+------------------+--------------------+----------------+------------+
   | sys         |                1 | sys_pool           |              1 |          1 |
   | MySQL       |             1001 | pool1              |           1001 |          2 |
   | Oracle      |             1002 | pool002            |           1002 |          2 |
   +-------------+------------------+--------------------+----------------+------------+
   3 rows in set

   obclient> SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS WHERE UNIT_CONFIG_ID='1001';
   +----------------+-------+---------+---------+-------------+---------------+----------+----------+-------------+
   | UNIT_CONFIG_ID | NAME  | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT |
   +----------------+-------+---------+---------+-------------+---------------+----------+----------+-------------+
   |           1001 | unit1 |       6 |       6 | 38654705664 |    2147483648 |     1024 |     1024 |           0 |
   +----------------+-------+---------+---------+-------------+---------------+----------+----------+-------------+
   1 row in set

   ```

   其中，`UNIT_COUNT` 表示当前租户所分配的 `UNIT_NUM` 。
 4. 执行以下语句，调大 `UNIT_NUM` 的数量。

   > **说明**
   >
   >  
   >
   > 不支持通过指定 `unit_id` 的方式调大 `UNIT_NUM` 的数量。

   ```sql
   obclient> ALTER RESOURCE TENANT tenant1 UNIT_NUM = 3;

   ```

   语句执行后，系统会直接在每个 Zone 内添加一个 Unit。

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