首批通过分布式安全可靠测评,为关键业务系统打造
ALTER RESOURCE UNIT
更新时间:2025-09-04 10:48:00
描述
ALTER RESOURCE UNIT 语句用于修改 Unit 的资源规格。修改资源规格主要是调大或调小 CPU、内存、日志盘容量等。
使用限制及注意事项
修改资源规格前,如果该资源规格对应的 Unit 正在被租户使用,需要注意以下事项:
如果要调大资源规格,则需要保证 Unit 所在的各节点都有足够的剩余资源可用于分配。
可以通过查询视图
GV$OB_SERVERS来确认各节点的总资源以及已经分配的资源,详细操作请参见 查看租户和资源信息。如果要调小资源规格,则需要保证修改后的 CPU、内存以及日志盘容量等的资源总量大于或等于当前租户已经使用的资源总量。
权限要求
仅 sys 租户的 root 用户(root@sys)可以修改 Unit 的资源规格,其他租户不支持修改 Unit 的资源规格。
语句
ALTER RESOURCE UNIT unit_name
MEMORY_SIZE [=] 'size_value',
MAX_CPU [=] cpu_num,
[MIN_CPU [=] cpu_num,]
[MAX_IOPS [=] iops_num,]
[MIN_IOPS [=] iops_num,]
[IOPS_WEIGHT [=]iopsweight,]
[MAX_NET_BANDWIDTH [=] bandwidth_num,]
[NET_BANDWIDTH_WEIGHT [=] bandwidth_weight_num,]
[LOG_DISK_SIZE [=] 'size_value'];
参数解释
| 参数 | 描述 |
|---|---|
| unit_name | 指定待修改资源规格的 Unit 的名称。 |
| MEMORY_SIZE | 修改内存规格,其最小值由隐藏配置项 __min_full_resource_pool_memory 控制,默认为 5G,为了保证稳定性,最小的内存规格建议为 4G。
注意OceanBase 数据库从 V4.0.0.0 开始不再支持内存超卖。 |
| MAX_CPU | 修改 CPU 规格的上限,最小值为 1,表示 1 Core,其值需要大于或等于当前 MIN_CPU 的值。 |
| MIN_CPU | 修改 CPU 规格的下限,可选。最小值为 1,表示 1 Core,其值需要小于或等于当前 MAX_CPU 的值。 |
| MAX_IOPS | 修改 IOPS 的上限,可选。最小值为 1024,其值需要大于或等于 MIN_IOPS 的值。 |
| MIN_IOPS | 修改 IOPS 的下限,可选。最小值为 1024,其值需要小于或等于 MAX_IOPS 的值。 |
| MAX_NET_BANDWIDTH | 修改租户每个 Unit 可使用的网络带宽上限,最小值为 1 M。 |
| NET_BANDWIDTH_WEIGHT | 修改租户 Unit 的网络带宽权重,用于计算每台 OBServer 的带宽分给每个租户的比例。最小值为 0。 |
| LOG_DISK_SIZE | 修改日志盘的大小,可选。默认值为内存规格值的 3 倍,最小值为 2G。 |
示例
查看资源单元
unit1的资源规格。obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS WHERE NAME='unit1';查询结果如下:
+----------------+-------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------------+----------+----------+-------------+-------------------+----------------------+ | UNIT_CONFIG_ID | NAME | CREATE_TIME | MODIFY_TIME | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | DATA_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT | MAX_NET_BANDWIDTH | NET_BANDWIDTH_WEIGHT | +----------------+-------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------------+----------+----------+-------------+-------------------+----------------------+ | 1001 | unit1 | 2025-05-28 11:19:39.116490 | 2025-05-28 11:19:39.116490 | 4 | 4 | 5368709120 | 10737418240 | NULL | 1280 | 1024 | 1 | 5242880 | 10 | +----------------+-------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------------+----------+----------+-------------+-------------------+----------------------+ 1 row in set修改资源单元
unit1的资源规格,CPU 为 2 Core,内存为 5 GB,每个 Unit 可使用的最大网络带宽为 4M,网络带宽权重为 8。obclient [oceanbase]> ALTER RESOURCE UNIT unit1 MAX_CPU 2, MIN_CPU 2, MEMORY_SIZE '5G', MAX_NET_BANDWIDTH '4M', NET_BANDWIDTH_WEIGHT 8;修改成功后,再次查看资源单元
unit1的资源规格。obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS WHERE NAME='unit1';查询结果如下:
+----------------+-------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------------+----------+----------+-------------+-------------------+----------------------+ | UNIT_CONFIG_ID | NAME | CREATE_TIME | MODIFY_TIME | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | DATA_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT | MAX_NET_BANDWIDTH | NET_BANDWIDTH_WEIGHT | +----------------+-------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------------+----------+----------+-------------+-------------------+----------------------+ | 1001 | unit1 | 2025-05-28 11:19:39.116490 | 2025-05-28 11:31:15.005869 | 2 | 2 | 5368709120 | 10737418240 | NULL | 1280 | 1024 | 1 | 4194304 | 8 | +----------------+-------+----------------------------+----------------------------+---------+---------+-------------+---------------+----------------+----------+----------+-------------+-------------------+----------------------+ 1 row in set