首批通过分布式安全可靠测评,为关键业务系统打造
删除资源单元
更新时间:2026-05-27 10:05:11
您可以删除不再使用的资源单元。
前提条件
删除资源单元前必须确保当前资源单元未被使用。如果资源单元正在被使用,则需要先将资源单元从资源池中移出后再删除资源单元。
在删除资源单元前,需要确认资源单元是否被使用,具体操作如下:
使用
root用户登录数据库的sys租户。执行以下语句,查看资源单元是否被指定资源池。
示例如下:
obclient> SELECT a.UNIT_CONFIG_ID, a.NAME FROM oceanbase.DBA_OB_UNIT_CONFIGS a,oceanbase.DBA_OB_RESOURCE_POOLS b WHERE b.UNIT_CONFIG_ID=a.UNIT_CONFIG_ID; +----------------+-----------------+ | UNIT_CONFIG_ID | NAME | +----------------+-----------------+ | 1 | sys_unit_config | | 1001 | unit001 | | 1001 | unit001 | +----------------+-----------------+ 3 rows in set
根据查询结果,如果查询结果的 name 列中无该资源单元名称,则表示该资源单元未被指定给资源池;如果查询结果的 name 列中有该资源单元名称,则表示资源单元已被指定给资源池。
删除资源单元
对于资源单元未被使用的场景
如果资源单元未被指定给资源池,您可以直接执行以下语句,删除资源单元。示例语句如下:
obclient> DROP RESOURCE UNIT unit1;注意
使用
DROP RESOURCE UNIT语句删除资源单元时,仅支持删除单个资源单元,不支持批量删除多个资源单元。对于资源单元正在被使用的场景
如果资源单元已被指定给资源池,需要为原资源池指定新的资源单元后,再删除资源单元。
示例如下:
假设待删除的资源单元为
unit1,unit1被指定给了资源池pool1,如果要移除资源单元unit1,则需要先创建资源单元unit2,并将unit2指定给pool1后,再删除unit1。obclient> CREATE RESOURCE UNIT unit2 MAX_CPU=4, MIN_CPU=4, MEMORY_SIZE='5G', MAX_IOPS=1024, MIN_IOPS=1024, IOPS_WEIGHT=0, LOG_DISK_SIZE='2G'; obclient> ALTER RESOURCE POOL pool1 UNIT='unit2'; obclient> DROP RESOURCE UNIT unit1;