暂无图片
暂无图片
8
暂无图片
暂无图片
暂无图片

OceanBase从租户中移除资源池

OceanBase 2023-01-17
645

您可以使用 ALTER TENANT 语句将资源池从租户中移除。

从租户中移除资源池

从租户中移除资源池的 SQL 语法如下:

ALTER TENANT tenant_name RESOURCE_POOL_LIST [=](pool_name [, pool_name...]) ;

语句使用说明:

  • 该语句仅支持由 sys 租户的管理员执行。

  • 对于 RESOURCE_POOL_LIST,一次仅支持删除一个资源池。

从租户中移除资源池的场景通常使用在租户副本数降级的场景中。

示例背景

假设集群中当前有 z1z2z3z4z5 共 5 个 Zone,且 5 个 Zone 都属于同一个 Region,每个 Zone 内一台 OBServer。集群中有一个普通租户 tenant1,当前副本分布情况 locality='F@z1,F@z2,F@z3,F@z4,F@z5', resource_pool_list=('pool1','pool2'),资源池的资源分布情况 CREATE RESOURCE POOL pool1 UNIT 'uc1', UNIT_NUM 1, ZONE_LIST ('z1', 'z2', 'z3') 和 CREATE RESOURCE POOL pool2 UNIT 'uc2', UNIT_NUM 1, ZONE_LIST ('z4', 'z5')

根据业务需要,需要将租户 tenant1 由 5 副本调整为 3 副本,且资源池调整为 1 个,即租户的 Locality 变成 locality='F@z1,F@z2,F@z3,', resource_pool_list=('pool1')

示例操作

  1. 使用 root 用户登录数据库的 sys 租户。

  2. 通过修改租户 tenant1 的 Locality 来删除副本。

    根据 Locality 的变更规则,每次只能删除一个 Zone 内的 Locality,Locality 的变更规则相关信息请参见 Locality 概述

    obclient>ALTER TENANT tenant1 LOCALITY='F@z1,F@z2,F@z3,F@z4';
    
    obclient>ALTER TENANT tenant1 LOCALITY='F@z1,F@z2,F@z3';
    
  3. 删除 z4z5 上的资源池 pool2

    obclient>ALTER TENANT tenant1 RESOURCE_POOL_LIST =('pool1') ;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论