本页面为您介绍删除 Zone 中的租户副本的操作,删除副本数据将不可恢复,请谨慎操作。
前提条件
通过删除副本的方式变更副本前,请确认目标副本是否均正常。例如:5 副本变更为 4 副本时,需要目标副本的 4 台 OBServer 均在线。
注意
如果 OceanBase 集群的 sys 租户有 5 个 Zone 副本,其中有 2 个 Zone 宕机,此时请勿删除任意某一个副本,因为一旦删除,剩余可用的副本则无法构成多数派。但可以批量删除宕机 Zone 上的两个副本。
删除副本的 SQL 语法
-- 修改 LOCALITY,在 LOCALITY 中去除某个 Zone 的副本
ALTER TENANT tenant_name [SET] LOCALITY [=] 'locality_description';
-- 解除租户和资源池的引用关系
ALTER TENANT tenant_name [SET] RESOURCE_POOL_LIST [=](pool_name [, pool_name...]) ;
-- 删除资源池
DROP RESOURCE POOL pool_name;
-- 删除资源单元配置
DROP RESOURCE UNIT unit_name;
说明
根据 Locality 的变更规则,每次只能删除一个 Zone 内的 Locality。
对于
RESOURCE_POOL_LIST,一次仅支持删除一个资源池。
示例
tenant1 租户当前在 zone1~zone5 上各有一个副本,现需去除 zone4 和 zone5 上的副本。修改租户 tenant1 的 Locality,删除副本数的 SQL 语句如下所示:
-- 修改 LOCALITY,在 LOCALITY 中去除 Zone4 和 zone5 的副本
obclient> ALTER TENANT tenant1 LOCALITY = 'F@zone1,F@zone2,F@zone3,F@zone4';
obclient> ALTER TENANT tenant1 LOCALITY = 'F@zone1,F@zone2,F@zone3';
-- 解除租户和资源池的引用关系
obclient> ALTER TENANT tenant1 RESOURCE_POOL_LIST = ('pool1','pool2','pool3','pool4');
obclient> ALTER TENANT tenant1 RESOURCE_POOL_LIST = ('pool1','pool2','pool3');
-- 删除资源池
obclient> DROP RESOURCE POOL pool4;
obclient> DROP RESOURCE POOL pool5;
-- 删除资源单元配置
obclient> DROP RESOURCE UNIT unit4;
obclient> DROP RESOURCE UNIT unit5;「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




