---
title: "通过调整资源规格实现租户扩缩容 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 通过调整资源规格实现租户扩缩容 租户扩容或缩容本质上是提高或降低租户的服务能力，包括计算能力和存储容量，可以通过提高单节点的服务能力达成，也可以通过增加服务节点达成。本文介绍如何通过调大或者调小租户的资源规格（Unit Config）来达到单节点的服务能力的提升或降低，实现租户的扩容或缩容。 前提条件 在进行租户的扩…
---
切换语言

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

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

# 通过调整资源规格实现租户扩缩容

更新时间：2026-06-20 13:33:38

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/600.manage/200.tenant-management/600.common-tenant-operations/800.tenant-scale-in-and-out/200.adjust-resource-specifications.md)  

租户扩容或缩容本质上是提高或降低租户的服务能力，包括计算能力和存储容量，可以通过提高单节点的服务能力达成，也可以通过增加服务节点达成。本文介绍如何通过调大或者调小租户的资源规格（Unit Config）来达到单节点的服务能力的提升或降低，实现租户的扩容或缩容。

## 前提条件

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

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

  删除资源池的相关操作，参见 [删除资源池](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682934)。
 - 执行租户缩容操作前，建议进行一轮转储以便释放租户正在使用的内存。

  手动触发转储的相关操作，参见 [手动触发转储](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684845)。

## 注意事项

在调大资源规格时，无论是通过修改资源配置还是切换资源配置，调整后的资源总量都必须满足以下要求：

```sql
Sum(min_cpu) <= CPU_CAPACITY;
Sum(max_cpu) <= CPU_CAPACITY * resource_hard_limit;
Sum(memory_size) <= MEM_CAPACITY;
Sum(log_disk_size) <= LOG_DISK_CAPACITY;

```

其中：

- `CPU_CAPACITY`：表示 CPU 总的容量。
 - `MEM_CAPACITY`：表示内存总的容量。
 - `LOG_DISK_CAPACITY`：表示日志盘总的容量。

  日志盘总容量由集群级别的配置项 `log_disk_size` 和 `log_disk_percentage` 共同控制。其中，`log_disk_size` 用于设置 Redo 日志磁盘的大小，默认值为 `0`；`log_disk_percentage` 用于设置 Redo 日志占用其所在磁盘总空间的百分比，默认值为 `0`。两个配置项的使用规则如下：

     - 如果 `log_disk_size` 的值为 `0`，`log_disk_percentage` 的值不为 `0`，则系统以 `log_disk_percentage` 配置项设置的值分配日志盘空间。
     - 如果 `log_disk_size` 的值不为 `0`，则无论 `log_disk_percentage` 的值是否为 `0`，系统均以 `log_disk_size` 配置项设置的值分配日志盘空间。
     - 如果 `log_disk_size` 和 `log_disk_percentage` 的值均为 `0`，则系统会根据日志和数据是否共用同一磁盘来自动计算 Redo 日志占用其所在磁盘总空间的百分比：

           - 共用时，Redo 日志占用其所在磁盘总空间的百分比为 30%。
           - 独占时，Redo 日志占用其所在磁盘总空间的百分比为 90%。

  有关配置项 `log_disk_size` 的更多说明信息，请参见 [log_disk_size](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685715)。

  有关配置项 `log_disk_percentage` 的更多说明信息，请参见 [log_disk_percentage](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685591)。
 - `resource_hard_limit`：是一个配置项的值。

  在分配 Unit 时，系统会根据配置项 `resource_hard_limit` 的值来分配 CPU 资源。该配置项的默认值为 `100`，表示不允许超卖，取值范围为 `[100, 10000]`。

  更多配置项 `resource_hard_limit` 的说明信息，参见 [resource_hard_limit](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685706)。

## 调整资源规格

在通过调大和调小租户资源规格进行扩容和缩容时，有以下两种场景：

- 当前租户配置了独立的资源规格，可以直接修改租户的资源规格。
 - 多个租户使用了相同的资源规格，需要切换租户的资源规格。

### 获取租户所使用的资源规格 ID

确认租户是否使用了独立的资源规格，可以执行以下语句，获取待操作的租户所使用的资源规格 ID：

1. 使用 root 用户登录集群的 sys 租户。

   ```shell
   obclient -h172.30.xxx.xxx -P2883 -uroot@sys#obdemo -pxxxx -A

   ```
 2. 查询待操作的租户所属的资源配置 ID。

   ```shell
   obclient> SELECT a.TENANT_NAME, b.UNIT_CONFIG_ID  FROM oceanbase.DBA_OB_TENANTS a,oceanbase.DBA_OB_RESOURCE_POOLS b WHERE b.TENANT_ID=a.TENANT_ID;
   +----------------+----------------+
   | TENANT_NAME    | UNIT_CONFIG_ID |
   +----------------+----------------+
   | sys            |              1 |
   | midas0_3790    |           1008 |
   | midas0_3790    |           1008 |
   | midas0_3790    |           1007 |
   | mq_t1          |           1006 |
   | oracle_tenant1 |           1003 |
   +----------------+----------------+
   6 rows in set

   ```

根据查询结果，如果当前租户对应的 `UNIT_CONFIG_ID` 与其他租户相同，则表示有多个租户使用了相同的资源规格。

如果当前租户中对应的 `UNIT_CONFIG_ID` 与其他租户均不相同，则表示该租户使用了独立的资源规格，例如租户 `mq_t1` 所对应的 `UNIT_CONFIG_ID` 与其他租户的都不一样，所以租户 `mq_t1` 使用了独立的资源规格。

### 租户配置了独立的资源规格的场景

如果待操作的租户配置了独立的资源规格，可以直接通过修改租户的 `unit_config` 来完成租户的扩容和缩容。

示例：

下面以调整租户 `mq_t1` 的资源规格，调大 CPU 资源为例进行说明。

1. 使用 root 用户登录到集群的 sys 租户。

   ```
 2. 进入 `oceanbase` 数据库。

   ```shell
   obclient>USE oceanbase;

   ```
 3. 查询待操作租户所使用的 `UNIT_CONFIG_ID`。

   ```
 4. 查询待操作租户的资源规格详情。

   ```shell
   obclient> SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS WHERE UNIT_CONFIG_ID='1006';
   +----------------+----------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
   | UNIT_CONFIG_ID | NAME           | CREATE_TIME                | MODIFY_TIME                | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT |
   +----------------+----------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
   |           1006 | S2_unit_config | 2022-11-03 17:13:29.021410 | 2022-11-03 17:13:29.021410 |       3 |       3 | 12884901888 |   38654705664 |    30000 |    30000 |           3 |
   +----------------+----------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
   1 row in set

   ```
 5. 调整资源规格。

   调大 `S2_unit_config` 配置。

   ```shell
   obclient> ALTER RESOURCE UNIT S2_unit_config MAX_CPU 5, MIN_CPU 5;

   ```
 6. 查询租户当前的资源规格，确认是否修改成功。

   ```shell
   obclient> SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS WHERE UNIT_CONFIG_ID='1006';
   +----------------+----------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
   | UNIT_CONFIG_ID | NAME           | CREATE_TIME                | MODIFY_TIME                | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT |
   +----------------+----------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
   |           1006 | S2_unit_config | 2022-11-03 17:13:29.021410 | 2023-01-12 10:28:57.606507 |       5 |       5 | 12884901888 |   38654705664 |    30000 |    30000 |           3 |
   +----------------+----------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
   1 row in set

   ```

根据查询结果，查看 `MAX_CPU` 与 `MIN_CPU` 已改成对应值，则表示执行成功。

### 多个租户使用了相同的资源规格的场景

如果多个租户共用了同一个资源规格，则不能通过简单的调大和调小资源规格来实现租户的扩容和缩容。因为一旦修改，将导致使用相同资源规格的所有租户同时进行了扩容或缩容。

此场景下，需要先创建独立的资源规格后，再为租户切换资源规格。

同样以租户 `mq_t1` 为例，示例如何调整 CPU 资源。

   ```
 2. 进入`oceanbase` 数据库。

   ```
 3. 查询待操作租户所使用的 `UNIT_CONFIG_ID` 和 `RESOURCE_POOL_NAME`。

   ```shell
   obclient> SELECT a.TENANT_NAME, b.NAME RESOURCE_POOL_NAME, b.UNIT_CONFIG_ID  FROM oceanbase.DBA_OB_TENANTS a,oceanbase.DBA_OB_RESOURCE_POOLS b WHERE b.TENANT_ID=a.TENANT_ID;
   +----------------+---------------------+----------------+
   | TENANT_NAME    | RESOURCE_POOL_NAME  | UNIT_CONFIG_ID |
   +----------------+---------------------+----------------+
   | sys            | sys_pool            |              1 |
   | midas0_3790    | midas0_3790_pool_z3 |           1008 |
   | midas0_3790    | midas0_3790_pool_z2 |           1008 |
   | midas0_3790    | midas0_3790_pool_z1 |           1007 |
   | mq_t1          | mq_pool_01          |           1006 |
   | oracle_tenant1 | oracle_pool_01      |           1003 |
   +----------------+---------------------+----------------+
   6 rows in set

   ```
 5. 创建一个独立的新资源规格，新资源规格各项资源值为待修改的目标值。

   创建比当前资源规格高的 `new_S2_unit_config`。

   ```shell
   obclient> CREATE RESOURCE UNIT new_S2_unit_config MAX_CPU = 5, MIN_CPU = 5, MEMORY_SIZE = 12884901888,LOG_DISK_SIZE = 38654705664,MAX_IOPS = 30000, MIN_IOPS  = 30000, IOPS_WEIGHT=3;

   ```
 6. 调整待操作租户的资源池使用新资源规格。

   ```shell
   obclient> ALTER RESOURCE POOL mq_pool_01 unit='new_S2_unit_config';

   ```
 7. 查询租户当前的资源规格，确认是否修改成功。

   ```shell
   obclient> SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS WHERE UNIT_CONFIG_ID='1006';
   +----------------+--------------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
   | UNIT_CONFIG_ID | NAME               | CREATE_TIME                | MODIFY_TIME                | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT |
   +----------------+--------------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
   |           1006 | new_S2_unit_config | 2022-12-03 17:13:29.021410 | 2022-12-03 17:13:29.021410 |       5 |       5 | 12884901888 |   38654705664 |    30000 |    30000 |           3 |
   +----------------+--------------------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------+----------+-------------+
   1 row in set

   ```

## 更多信息

- 通过 `GV$OB_SERVERS` 视图查询资源上限值。

  关于 `GV$OB_SERVERS` 视图的详细介绍，参见 [GV$OB_SERVERS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684434)。

  示例如下：

  ```shell
  obclient> SELECT * FROM oceanbase.GV$OB_SERVERS\G
  *************************** 1. row ***************************
                            SVR_IP: 172.xx.xxx.xxx
                          SVR_PORT: 2882
                              ZONE: zone1
                          SQL_PORT: 2881
                      CPU_CAPACITY: 64
                  CPU_CAPACITY_MAX: 64
                      CPU_ASSIGNED: 8
                  CPU_ASSIGNED_MAX: 8
                      MEM_CAPACITY: 75161927680
                      MEM_ASSIGNED: 18253611008
                 LOG_DISK_CAPACITY: 179583320064
                 LOG_DISK_ASSIGNED: 56103010304
                   LOG_DISK_IN_USE: 1409286144
                DATA_DISK_CAPACITY: 179593805824
                DATA_DISK_ASSIGNED: NULL
                  DATA_DISK_IN_USE: 228589568
           DATA_DISK_HEALTH_STATUS: NORMAL
                      MEMORY_LIMIT: 107374182400
               DATA_DISK_ALLOCATED: 179593805824
           DATA_DISK_ABNORMAL_TIME: NULL
             SSL_CERT_EXPIRED_TIME: NULL
  SS_DATA_DISK_OPERATION_SUGGESTED: NULL
       SS_DATA_DISK_SIZE_SUGGESTED: NULL
  1 row in set

  ```
 - 通过 `GV$OB_UNITS` 视图查询集群中所有租户的资源分配情况。

  关于 `GV$OB_UNITS` 视图的详细介绍，参见 [GV$OB_UNITS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005684579)。

  示例如下：

  ```shell
  obclient> SELECT SVR_IP,SVR_PORT,UNIT_ID,TENANT_ID,MAX_CPU,MIN_CPU,ceil(MEMORY_SIZE/1024/1024/1024) MEMORY_SIZE_G,MAX_IOPS,MIN_IOPS,IOPS_WEIGHT,ceil(LOG_DISK_SIZE/1024/1024/1024) LOG_DISK_SIZE_G,ceil(LOG_DISK_IN_USE/1024/1024/1024) LOG_DISK_IN_USE_G,ceil(DATA_DISK_IN_USE/1024/1024/1024) DATA_DISK_IN_USE_G,STATUS,CREATE_TIME FROM oceanbase.GV$OB_UNITS;
  +--------------+----------+---------+-----------+---------+---------+---------------+----------+----------+-------------+-----------------+-------------------+--------------------+--------+----------------------------+
  | SVR_IP       | SVR_PORT | UNIT_ID | TENANT_ID | MAX_CPU | MIN_CPU | MEMORY_SIZE_G | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT | LOG_DISK_SIZE_G | LOG_DISK_IN_USE_G | DATA_DISK_IN_USE_G | STATUS | CREATE_TIME                |
  +--------------+----------+---------+-----------+---------+---------+---------------+----------+----------+-------------+-----------------+-------------------+--------------------+--------+----------------------------+
  | xx.xx.xx.43  |     2882 |       1 |         1 |       5 |       2 |            32 |    10000 |    10000 |           1 |              32 |                26 |                 11 | NORMAL | 2022-11-03 15:36:31.693272 |
  | xx.xx.xx.43  |     2882 |    1001 |      1001 |    NULL |    NULL |             4 |     NULL |     NULL |        NULL |              10 |                 8 |                 16 | NORMAL | 2022-11-03 17:33:15.340453 |
  | xx.xx.xx.43  |     2882 |    1001 |      1002 |      12 |      12 |            29 |    60000 |    60000 |           6 |              87 |                37 |                 21 | NORMAL | 2022-11-03 17:33:15.340453 |
  | xx.xx.xx.43  |     2882 |    1007 |      1007 |    NULL |    NULL |             2 |     NULL |     NULL |        NULL |               4 |                 0 |                  0 | NORMAL | 2023-01-04 23:50:57.990761 |
  | xx.xx.xx.43  |     2882 |    1007 |      1008 |       5 |       5 |            11 |    30000 |    30000 |           3 |              33 |                 2 |                  1 | NORMAL | 2023-01-04 23:50:57.990761 |
  | xx.xx.xx.158 |     2882 |       3 |         1 |       5 |       2 |            32 |    10000 |    10000 |           1 |              32 |                26 |                 11 | NORMAL | 2022-11-03 15:36:31.690365 |
  | xx.xx.xx.158 |     2882 |    1003 |      1001 |    NULL |    NULL |             4 |     NULL |     NULL |        NULL |              10 |                 8 |                 16 | NORMAL | 2022-11-03 17:33:15.344035 |
  | xx.xx.xx.158 |     2882 |    1003 |      1002 |      12 |      12 |            29 |    15000 |    15000 |           1 |              87 |                26 |                 21 | NORMAL | 2022-11-03 17:33:15.344035 |
  | xx.xx.xx.158 |     2882 |    1009 |      1007 |    NULL |    NULL |             2 |     NULL |     NULL |        NULL |               4 |                 0 |                  0 | NORMAL | 2023-01-04 23:50:57.998665 |
  | xx.xx.xx.158 |     2882 |    1009 |      1008 |       5 |       5 |            11 |    30000 |    30000 |           3 |              33 |                 2 |                  1 | NORMAL | 2023-01-04 23:50:57.998665 |
  | xx.xx.xx.47  |     2882 |    1004 |      1007 |    NULL |    NULL |             2 |     NULL |     NULL |        NULL |               4 |                 3 |                  6 | NORMAL | 2023-01-04 18:32:08.216823 |
  | xx.xx.xx.47  |     2882 |    1004 |      1008 |       5 |       5 |            11 |    30000 |    30000 |           3 |              33 |                 3 |                  1 | NORMAL | 2023-01-04 18:32:08.216823 |
  | xx.xx.xx.47  |     2882 |    1010 |      1009 |    NULL |    NULL |             1 |     NULL |     NULL |        NULL |               2 |                 2 |                  3 | NORMAL | 2023-01-06 16:52:53.867318 |
  | xx.xx.xx.47  |     2882 |    1010 |      1010 |     1.5 |     1.5 |             5 |    15000 |    15000 |           1 |              17 |                 2 |                  1 | NORMAL | 2023-01-06 16:52:53.867318 |
  | xx.xx.xx.19  |     2882 |    1006 |      1007 |    NULL |    NULL |             2 |     NULL |     NULL |        NULL |               4 |                 3 |                  5 | NORMAL | 2023-01-04 18:32:08.217376 |
  | xx.xx.xx.19  |     2882 |    1006 |      1008 |       5 |       5 |            11 |    30000 |    30000 |           3 |              33 |                 3 |                  1 | NORMAL | 2023-01-04 18:32:08.217376 |
  | xx.xx.xx.81  |     2882 |    1005 |      1007 |    NULL |    NULL |             2 |     NULL |     NULL |        NULL |               4 |                 3 |                  6 | NORMAL | 2023-01-04 18:32:08.217390 |
  | xx.xx.xx.81  |     2882 |    1005 |      1008 |       5 |       5 |            11 |    30000 |    30000 |           3 |              33 |                 3 |                  1 | NORMAL | 2023-01-04 18:32:08.217390 |
  | xx.xx.xx.81  |     2882 |    1011 |      1009 |    NULL |    NULL |             1 |     NULL |     NULL |        NULL |               2 |                 2 |                  3 | NORMAL | 2023-01-06 16:52:53.867944 |
  | xx.xx.xx.81  |     2882 |    1011 |      1010 |     1.5 |     1.5 |             5 |    15000 |    15000 |           1 |              17 |                 2 |                  1 | NORMAL | 2023-01-06 16:52:53.867944 |
  | xx.xx.xx.106 |     2882 |       2 |         1 |       5 |       2 |            32 |    10000 |    10000 |           1 |              32 |                26 |                 11 | NORMAL | 2022-11-03 15:36:31.689252 |
  | xx.xx.xx.106 |     2882 |    1002 |      1001 |    NULL |    NULL |             4 |     NULL |     NULL |        NULL |              10 |                 8 |                 16 | NORMAL | 2022-11-03 17:33:15.344232 |
  | xx.xx.xx.106 |     2882 |    1002 |      1002 |      12 |      12 |            29 |    15000 |    15000 |           1 |              87 |                26 |                 21 | NORMAL | 2022-11-03 17:33:15.344232 |
  | xx.xx.xx.106 |     2882 |    1008 |      1007 |    NULL |    NULL |             2 |     NULL |     NULL |        NULL |               4 |                 0 |                  0 | NORMAL | 2023-01-04 23:50:57.995715 |
  | xx.xx.xx.106 |     2882 |    1008 |      1008 |       5 |       5 |            11 |    30000 |    30000 |           3 |              33 |                 2 |                  1 | NORMAL | 2023-01-04 23:50:57.995715 |
  +--------------+----------+---------+-----------+---------+---------+---------------+----------+----------+-------------+-----------------+-------------------+--------------------+--------+----------------------------+
  25 rows in set

  ```

## 相关文档

- [租户扩缩容介绍](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682935)

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