暂无图片
暂无图片
10
暂无图片
暂无图片
暂无图片

OceanBase修改集群参数

OceanBase 2022-12-12
1066

您可以通过 SQL 语句修改集群参数。

通过 SQL 语句修改集群参数

集群参数即集群级配置项,修改集群级配置项的语法如下所示,同时修改多个集群级配置项时,需要使用英文逗号(,)分隔。

 ALTER SYSTEM [SET]
       parameter_name = expression [SCOPE = {MEMORY | SPFILE | BOTH}]
          [COMMENT [=] 'text']
            [SERVER [=] 'ip:port' | ZONE [=] 'zone'];

语句说明:

  • 仅 sys 租户可以修改集群级配置项,普通租户无法修改集群级配置项。

  • expression 用于指定修改后该配置项的值。

  • SCOPE 用于指定本次配置项修改的生效范围,默认值为 BOTH。其中:

    • MEMORY:表示仅修改内存中的配置项,修改立即生效,且本修改在 Server 重启以后会失效(当前暂无配置项支持这种方式)。

    • SPFILE:表示仅修改配置表中的配置项值,当 Server 重启以后才生效。

    • BOTH:表示既修改配置表,又修改内存值,修改后立即生效,且 Server 重启以后配置值仍然生效。

  • SERVER 表示指定集群中要修改的 Server,ZONE 表示指定集群中要修改的 Zone。

    ALTER SYSTEM 语句不能同时指定 Zone 和 Server。并且在指定 Zone 时,仅支持指定一个 Zone;指定 Server 时,仅支持指定一个 Server。

    如果修改集群级配置项时,不指定 Zone 也不指定 Server,则表示该修改在整个集群内生效。

  • 集群级别的配置项不能通过普通租户设置,也不可以通过系统租户(即 sys 租户) 指定为普通租户设置。例如,执行 ALTER SYSTEM SET memory_limit='100G' TENANT='test_tenant' 语句将导致报错,因为 memory_limit 是集群级别的配置项。

    确认一个配置项为集群级别还是租户级别,可根据 SHOW PARAMETERS LIKE 'parameter_name'; 语句执行结果中的 scope 列对应的值来判断:

    • scope 值为 CLUSTER 则表示为集群级别的配置项。

    • scope 值为 TENANT 则表示为租户级别的配置项。

示例:

obclient> ALTER SYSTEM SET net_thread_count=1 SCOPE = SPFILE;

obclient> ALTER SYSTEM SET mysql_port=8888;

obclient> ALTER SYSTEM SET mysql_port=8888 ZONE='z1';

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

评论