---
title: "ALTER RESOURCE TENANT - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: ALTER RESOURCE TENANT 描述 当资源池已分配给租户后，如果要修改资源池配置中的 UNIT_NUM ，需要使用 ALTER RESOURCE TENANT 语句。 如果要修改资源池的其他属性，需要使用 ALTER RESOURCE POOL 语句，有关 ALTER RESOURCE POOL 语句的…
---
切换语言

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

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

# ALTER RESOURCE TENANT

更新时间：2026-03-25 11:58:09

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/100.system-tenants/300.alter-resource-tenant.md)  

## 描述

当资源池已分配给租户后，如果要修改资源池配置中的 `UNIT_NUM`，需要使用 `ALTER RESOURCE TENANT` 语句。

如果要修改资源池的其他属性，需要使用 `ALTER RESOURCE POOL` 语句，有关 `ALTER RESOURCE POOL` 语句的详细介绍，请参见 [ALTER RESOURCE POOL](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476923)。

## 使用限制及注意事项

- `ALTER RESOURCE TENANT` 语句修改的是租户下所有资源池的 Unit 个数。
 - 使用 `ALTER RESOURCE TENANT` 语句执行租户的扩缩容操作前，需要为该租户设置负载均衡策略，否则可能会导致扩缩容失败。为租户设置负载均衡策略的详细操作及说明，请参见 [通过调整 Unit Number 实现租户扩缩容](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476496)。

## 权限要求

仅 `sys` 租户的 `root` 用户（`root@sys`）可以修改租户的资源池配置，其他租户不支持修改租户的资源池配置。

## 语法

```sql
ALTER RESOURCE TENANT tenant_name UNIT_NUM [=] unit_num [ DELETE UNIT_GROUP = ( unit_group_id_list ) ];

```

## 参数说明

| **参数** | **描述** |
| --- | --- |
| tenant_name | 待修改资源池配置的租户名称。 |
| unit_num | 修改租户下所有资源池的 Unit 个数。增加 `UNIT_NUM` 时，其值需要小于或等于目标 Zone 内节点的个数。 |
| unit_group_id_list | 仅用于缩容场景。减小 `unit_num` 时，使用 `DELETE UNIT_GROUP` 可以删除指定的 Unit GROUP。如果不指定 `DELETE UNIT_GROUP`，系统将随机删除相应个数的 Unit Group。 |

## 示例

- 将租户 `tenant1` 下所有资源池的 Unit 个数修改为 3。

  ```shell
  obclient(root@sys)[oceanbase]> ALTER RESOURCE TENANT tenant1 UNIT_NUM = 3;

  ```
 - 缩容场景下，删除租户 `tenant2` 下 `UNIT_GROUP_ID` 为 `1006` 的 Unit Group。

     1. 依次执行以下命令，开启负载均衡。

       ```shell
       obclient(root@sys)[oceanbase]> ALTER SYSTEM SET enable_rebalance = true TENANT = 'tenant2';

       ```

       ```shell
       obclient(root@sys)[oceanbase]> ALTER SYSTEM SET enable_transfer = true TENANT = 'tenant2';

       ```
     2. 获取租户的 `TENANT_ID`。

       ```shell
       obclient(root@sys)[oceanbase]> SELECT TENANT_ID,TENANT_NAME,TENANT_TYPE FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'tenant2';

       ```

       查询结果如下：

       ```shell
       +-----------+-------------+-------------+
       | TENANT_ID | TENANT_NAME | TENANT_TYPE |
       +-----------+-------------+-------------+
       |      1006 | tenant2     | USER        |
       +-----------+-------------+-------------+
       1 row in set

       ```
     3. 查看租户所拥有的 Unit，并获取待删除的 `UNIT_GROUP_ID`。

       ```shell
       obclient(root@sys)[oceanbase]> SELECT UNIT_ID, TENANT_ID, STATUS, RESOURCE_POOL_ID, UNIT_GROUP_ID, ZONE, SVR_IP, SVR_PORT FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID = 1006;

       ```

       查询结果如下：

       ```shell
       +---------+-----------+--------+------------------+---------------+-------+----------------+----------+
       | UNIT_ID | TENANT_ID | STATUS | RESOURCE_POOL_ID | UNIT_GROUP_ID | ZONE  | SVR_IP         | SVR_PORT |
       +---------+-----------+--------+------------------+---------------+-------+----------------+----------+
       |    1016 |      1006 | ACTIVE |             1003 |          1006 | zone1 | xxx.xx.xxx.194 |     2882 |
       |    1017 |      1006 | ACTIVE |             1003 |          1007 | zone1 | xxx.xx.xxx.198 |     2882 |
       |    1018 |      1006 | ACTIVE |             1003 |          1006 | zone2 | xxx.xx.xxx.192 |     2882 |
       |    1019 |      1006 | ACTIVE |             1003 |          1007 | zone2 | xxx.xx.xxx.196 |     2882 |
       |    1020 |      1006 | ACTIVE |             1003 |          1006 | zone3 | xxx.xx.xxx.204 |     2882 |
       |    1021 |      1006 | ACTIVE |             1003 |          1007 | zone3 | xxx.xx.xxx.197 |     2882 |
       +---------+-----------+--------+------------------+---------------+-------+----------------+----------+
       6 rows in set

       ```
     4. 根据获取的 `UNIT_GROUP_ID`，执行缩容操作。

       ```shell
       obclient(root@sys)[oceanbase]>  ALTER RESOURCE TENANT tenant2 UNIT_NUM = 1 DELETE UNIT_GROUP = (1006);

       ```
     5. 执行成功后，可以通过视图 `DBA_OB_TENANT_JOBS` 查看调小 Unit Number 任务的执行状态。

       ```sql
       obclient(root@sys)[oceanbase]> SELECT * FROM oceanbase.DBA_OB_TENANT_JOBS WHERE JOB_TYPE='ALTER_RESOURCE_TENANT_UNIT_NUM' AND TENANT_ID=1006;

       ```

       查询结果如下：

       ```shell
       +--------+--------------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+-----------------------------------------------------------------------+--------------------+----------------+-------------+
       | JOB_ID | JOB_TYPE                       | JOB_STATUS | RESULT_CODE | PROGRESS | START_TIME                 | MODIFY_TIME                | TENANT_ID | SQL_TEXT                                                              | EXTRA_INFO         | RS_SVR_IP      | RS_SVR_PORT |
       +--------+--------------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+-----------------------------------------------------------------------+--------------------+----------------+-------------+
       |      6 | ALTER_RESOURCE_TENANT_UNIT_NUM | SUCCESS    |           0 |      100 | 2023-09-25 18:01:30.069506 | 2023-09-25 18:01:45.068740 |      1006 | ALTER RESOURCE TENANT tenant2 UNIT_NUM = 2                            | FROM: '1', TO: '2' | xxx.xx.xxx.196 |        2882 |
       |      7 | ALTER_RESOURCE_TENANT_UNIT_NUM | SUCCESS    |           0 |      100 | 2023-09-26 09:37:32.367076 | 2023-09-26 09:39:05.651200 |      1006 | ALTER RESOURCE TENANT tenant2 UNIT_NUM = 1 DELETE UNIT_GROUP = (1006) | FROM: '2', TO: '1' | xxx.xx.xxx.196 |        2882 |
       +--------+--------------------------------+------------+-------------+----------+----------------------------+----------------------------+-----------+-----------------------------------------------------------------------+--------------------+----------------+-------------+
       2 rows in set

       ```

## 相关文档

- [通过调整 Unit Number 实现租户扩缩容](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476496)
 - [ALTER TENANT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476914)

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