---
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-06-22 19:32:48

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.0.0/zh-CN/500.administrator-guide/1100.operation-and-maintenance-management/200.scale-out-and-scale-in-1/300.scale-in-and-scale-out-of-tenant-resources/200.by-modifying-unit_num.md)  

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

## 前提条件

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

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

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

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

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

## 通过 SQL 语句修改租户的 UNIT_NUM

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

### 背景信息

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

```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 1, ZONE_LIST ('z1','z2','z3');

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

```

### 调大 UNIT_NUM

随着业务量的不断变大，每个 Zone 上 1 个 Unit 已经无法承载当前的业务量，因此需要考虑调大 `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 |          1 |
   | Oracle      |             1002 | pool002            |           1002 |          1 |
   +-------------+------------------+--------------------+----------------+------------+
   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 MySQL UNIT_NUM = 2;

   ```

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

## 更多信息

在租户的扩容操作中，您可以借助以下内部表或视图来获取租户资源相关的信息：

- oceanbase.DBA_OB_UNIT_CONFIGS

  `DBA_OB_UNIT_CONFIGS` 视图记录了当前集群中的所有 unit_config 信息。

  示例：

  ```sql
  obclient> SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS;
  +----------------+-----------------+---------+---------+-------------+---------------+----------+----------+-------------+
  | UNIT_CONFIG_ID | NAME            | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT |
  +----------------+-----------------+---------+---------+-------------+---------------+----------+----------+-------------+
  |              1 | sys_unit_config |     2.5 |     2.5 | 17179869184 |   17179869184 |    25000 |    25000 |           2 |
  |           1001 | unit001         |       1 |       1 |  6442450944 |   19327352832 |    10000 |    10000 |           1 |
  |           1002 | unit002         |       1 |       1 |  6442450944 |   19327352832 |    10000 |    10000 |           1 |
  |           1003 | unit003         |       1 |       1 |  6442450944 |   19327352832 |    10000 |    10000 |           1 |
  |           1004 | unit004         |       1 |       1 |  6442450944 |   19327352832 |    10000 |    10000 |           1 |
  |           1005 | unit1           |       6 |       6 | 38654705664 |    2147483648 |     1024 |     1024 |           0 |
  +----------------+-----------------+---------+---------+-------------+---------------+----------+----------+-------------+
  6 rows in set

  ```
 - oceanbase.GV$OB_UNITS

  `GV$OB_UNITS` 视图中记录了集群中所有租户的资源分配情况。

  查询示例如下：

  ```sql
  obclient> SELECT * FROM oceanbase.GV$OB_UNITS\G
  *************************** 1. row ***************************
           SVR_IP: xx.xx.xx.xx
        SVR_PORT: 2882
           UNIT_ID: 1
        TENANT_ID: 1
              ZONE: zone1
           MAX_CPU: 2.5
           MIN_CPU: 2.5
     MEMORY_SIZE: 17179869184
        MAX_IOPS: 25000
        MIN_IOPS: 25000
     IOPS_WEIGHT: 2
     LOG_DISK_SIZE: 17179869184
  LOG_DISK_IN_USE: 191441460
  DATA_DISK_IN_USE: 406847488
           STATUS: NORMAL
     CREATE_TIME: 2022-07-19 11:04:39.226231
  *************************** 2. row ***************************
           SVR_IP: xx.xx.xx.xx
        SVR_PORT: 2882
           UNIT_ID: 1001
        TENANT_ID: 1001
              ZONE: zone1
           MAX_CPU: NULL
           MIN_CPU: NULL
     MEMORY_SIZE: 644245094
        MAX_IOPS: NULL
        MIN_IOPS: NULL
     IOPS_WEIGHT: NULL
     LOG_DISK_SIZE: 1932735283
  LOG_DISK_IN_USE: 155042605
  DATA_DISK_IN_USE: 211812352
           STATUS: NORMAL
     CREATE_TIME: 2022-07-19 13:48:36.308843
  *************************** 3. row ***************************
           SVR_IP: xx.xx.xx.xx
        SVR_PORT: 2882
           UNIT_ID: 1001
        TENANT_ID: 1002
              ZONE: zone1
           MAX_CPU: 1
           MIN_CPU: 1
     MEMORY_SIZE: 5798205850
        MAX_IOPS: 10000
        MIN_IOPS: 10000
     IOPS_WEIGHT: 1
     LOG_DISK_SIZE: 17394617549
  LOG_DISK_IN_USE: 154632504
  DATA_DISK_IN_USE: 121634816
           STATUS: NORMAL
     CREATE_TIME: 2022-07-19 13:48:36.308843
  *************************** 4. row ***************************
           SVR_IP: xx.xx.xx.xx
        SVR_PORT: 2882
           UNIT_ID: 1002
        TENANT_ID: 1005
              ZONE: zone1
           MAX_CPU: NULL
           MIN_CPU: NULL
     MEMORY_SIZE: 644245094
        MAX_IOPS: NULL
        MIN_IOPS: NULL
     IOPS_WEIGHT: NULL
     LOG_DISK_SIZE: 1932735283
  LOG_DISK_IN_USE: 152132563
  DATA_DISK_IN_USE: 211812352
           STATUS: NORMAL
     CREATE_TIME: 2022-07-19 13:51:56.627867
  *************************** 5. row ***************************
           SVR_IP: xx.xx.xx.xx
        SVR_PORT: 2882
           UNIT_ID: 1002
        TENANT_ID: 1006
              ZONE: zone1
           MAX_CPU: 1
           MIN_CPU: 1
     MEMORY_SIZE: 5798205850
        MAX_IOPS: 10000
        MIN_IOPS: 10000
     IOPS_WEIGHT: 1
     LOG_DISK_SIZE: 17394617549
  LOG_DISK_IN_USE: 158023991
  DATA_DISK_IN_USE: 134217728
           STATUS: NORMAL
     CREATE_TIME: 2022-07-19 13:51:56.627867
  5 rows in set

  ```
 - oceanbase.DBA_OB_RESOURCE_POOLS

  `DBA_OB_RESOURCE_POOLS` 视图中记录了当前集群中所有资源池的资源配置情况。其中，`unit_count` 表示资源池中某个资源单元的个数。

  查询示例如下：

  ```sql
  obclient> SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS;
  +------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
  | RESOURCE_POOL_ID | NAME     | TENANT_ID | CREATE_TIME                | MODIFY_TIME                | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST | REPLICA_TYPE |
  +------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
  |                1 | sys_pool |         1 | 2022-07-19 11:05:18.168896 | 2022-07-19 11:05:18.175708 |          1 |              1 | zone1     | FULL         |
  |             1001 | pool001  |      1002 | 2022-07-19 13:47:55.854548 | 2022-07-19 13:48:36.307978 |          1 |           1001 | zone1     | FULL         |
  |             1002 | pool002  |      1006 | 2022-07-19 13:49:53.869792 | 2022-07-19 13:51:56.626742 |          1 |           1001 | zone1     | FULL         |
  +------------------+----------+-----------+----------------------------+----------------------------+------------+----------------+-----------+--------------+
  3 rows 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) 咨询热线
