首批通过分布式安全可靠测评,为关键业务系统打造
ALTER RESOURCE POOL
更新时间:2026-06-08 17:39:28
描述
ALTER RESOURCE POOL 语句用于修改资源池的属性,包括修改 UNIT、UNIT_NUM 和 ZONE_LIST。
使用限制及注意事项
使用
ALTER RESOURCE POOL语句修改资源池属性时,每条语句每次仅支持修改一个属性,如果需要同时修改UNIT、UNIT_NUM、ZONE_LIST中两条及以上的属性,需要分多条语句执行。OceanBase 数据库当前版本支持租户的同构 Zone 模式和异构 Zone 模式。同构 Zone 模式下,要求租户下各 Zone 的 Unit 数量必须相同;异构 Zone 模式下,租户下各 Zone 的 Unit 数量可以不同,但限制一个租户最多只有两种
unit_num。在增加或减少UNIT_NUM时:异构 Zone 模式下,无论资源池是否已分配给租户使用,均可以使用
ALTER RESOURCE POOL语句增加或减少UNIT_NUM。注意
通常情况下,对于已有租户或者升级上来的租户,默认均为同构 Zone 模式,如果需要开启异构 Zone 模式,需要将配置项
zone_deploy_mode的值修改为hetero(异构 Zone 模式)。修改后,不支持再改回homo(同构 Zone 模式)。同构 Zone 模式下,如果资源池已分配给租户使用,则不能使用
ALTER RESOURCE POOL语句,需要使用ALTER RESOURCE TENANT语句进行修改。有关ALTER RESOURCE TENANT语句的详细介绍,参见 ALTER RESOURCE TENANT。
权限要求
仅 sys 租户的 root 用户(root@sys)可以修改资源池,其他租户不支持修改资源池。
语法
ALTER RESOURCE POOL
ALTER RESOURCE POOL pool_name
UNIT [=] unit_name
| UNIT_NUM [=] unit_num [DELETE UNIT = (unit_id_list)]
| ZONE_LIST [=] ('zone_name' [, 'zone_name' ...]);
参数说明
| 参数 | 描述 |
|---|---|
| unit_name | 修改资源池要使用的资源规格名称。 |
| unit_num | 指定修改后单个 Zone 下 Unit 的个数。增加 unit_num 时,其值需要小于等于目标 Zone 内节点的个数。 <main id="notice" type=notice'>注意异构 Zone 模式下,增加或减少 例如,一租户有 3 个资源池 |
| DELETE UNIT | 减小 unit_num 时,使用 DELETE UNIT 可以删除指定的 Unit。如果不指定 DELETE UNIT,系统将随机删除相应个数的 Unit。 <main id="notice" type=notice'>注意使用
|
| ZONE_LIST | 指定修改后资源池的 Zone 列表。 |
示例
不能同时修改资源池
pool1的多个属性,例如以下语句同时修改了UNIT、UNIT_NUM与ZONE属性,执行将报错。obclient [oceanbase]> ALTER RESOURCE POOL pool1 UNIT='unit2', UNIT_NUM=1, ZONE_LIST=('zone1'); ERROR 1235 (0A000): alter unit_num, resource_unit, zone_list in one cmd not supported特别地,在减小
UNIT_NUM时,可以删除指定的 Unit。obclient [oceanbase]> ALTER RESOURCE POOL pool1 UNIT_NUM=1 DELETE UNIT = (1002);将资源池
pool1所使用的资源规格修改为unit2。obclient [oceanbase]> ALTER RESOURCE POOL pool1 UNIT='unit2';