您可以删除不再使用的资源单元。
删除资源单元前必须确保当前资源单元未被使用。如果资源单元正在被使用,则需要先将资源单元从资源池中移出后再删除资源单元。
在删除资源单元前,需要确认资源单元是否被使用,具体操作如下:
使用
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;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026075/viewspace-2932549/ ,如需转载,请注明出处,否则将追究法律责任。