ITPub博客

首页 > 数据库 > 国内数据库 > 【手摸手玩转 OceanBase 60】如何通过 SQL 语句修改集群参数?

【手摸手玩转 OceanBase 60】如何通过 SQL 语句修改集群参数?

原创 国内数据库 作者:13579NB232 时间:2023-01-19 15:12:07 0 删除 编辑

您可以通过 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';

OceanBase 数据库中各集群参数的详细说明信息请参见  系统配置项 章节。

通过 OBD 修改集群参数

  1. 在 OBD 所在机器的操作用户下使用如下命令打开集群的配置文件:

    obd cluster edit-config <deploy_name>
  2. 修改/添加配置文件中的配置项

    配置文件各个模块的含义可参考  配置文件说明。

    若需要修改的参数配置文件中不存在,您可手动添加配置项,根据不同的生效范围选择添加到全局配置或节点配置。

  3. 保存配置后重启集群

    保存并退出配置文件后,OBD 会提示需要执行  obd cluster reload <deploy_name> 或  obd cluster restart <deploy_name> --wp 命令,根据提示执行对应命令即可完成集群参数的修改。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026124/viewspace-2932762/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2023-01-18

  • 博文量
    184
  • 访问量
    93228