暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

OceanBase分布式存储删除Zone中的租户副本

2023-04-30
264

本页面为您介绍删除 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论