修改集群参数 =========================== 您可以通过 SQL 语句或 OCP 修改集群参数。 通过 SQL 语句修改集群参数 ------------------------------------ 集群参数即配置项,修改配置项的语法如下所示,同时修改多个系统配置项时,请用逗号(,)分隔。 ```sql ALTER SYSTEM SET param_name = expr [COMMENT 'text'] [PARAM_OPTS] [TENANT = 'tenantname'] PARAM_OPTS: [ZONE='zone' | SERVER='server_ip:rpc_port'] ``` 参数修改语句说明如下: * `PARAM_OPTS` 是修改配置项时所指定的其它限定条件,例如,指定 Zone、指定 Server 等。 * `ALTER SYSTEM` 语句不能同时指定 Zone 和 Server。并且在指定 Zone 时,仅支持指定一个 Zone;指定 Server 时,仅支持指定一个 Server。 * 集群级别的配置项(`Scope`) 不能通过普通租户设置,也不可以通过 sys 租户指定普通租户来设置。例如,`ALTER SYSTEM SET memory_limit='100G' TENANT='test_tenant'` 将导致报错,因为 `memory_limit` 是集群级别(`Scope`)的配置项。 集群级别与租户级别的配置项设置会有所不同: * 系统租户设置集群配置项的语法 ```sql ALTER SYSTEM SET mysql_port=8888 [PARAM_OPTS] ``` * 系统租户设置租户配置项的语法 ```sql ALTER SYSTEM SET clog_max_unconfirmed_log_count=1600 [PARAM_OPTS] TENANT=all|TENANT_NAME ``` * 租户设置租户配置项的语法 ```sql ALTER SYSTEM SET clog_max_unconfirmed_log_count=1600 [PARAM_OPTS] ``` 系统租户也可以使用该命令修改系统租户本身的租户配置项的值。 示例如下: * 系统租户设置集群配置项。 ```sql 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'; ``` * 系统租户设置租户配置项。 ```sql obclient> ALTER SYSTEM SET clog_max_unconfirmed_log_count=1600 tenant='test_tenant'; ``` * 租户设置租户配置项。 ```sql obclient> ALTER SYSTEM SET clog_max_unconfirmed_log_count=1600; obclient> ALTER SYSTEM SET memory_limit = '100G' SERVER='192.168.100.1:2882'; obclient> ALTER SYSTEM SET memory_limit = '100G' ZONE='z1'; ``` 更多配置项信息,请参见《参考指南》文档中 [系统配置项](../../../../14.reference-guide-oracle-mode/3.system-configuration-items-1/1.system-configuration-items-overview-1.md) 章节。 更多配置项信息,请参见《参考指南》文档中 [系统配置项概述](../../../../14.reference-guide-oracle-mode/3.system-configuration-items-1/1.system-configuration-items-overview-1.md) 章节。 通过 OCP 修改集群参数 ---------------------------------- **说明** 不同 OCP 版本的操作界面可能不同,本节以 OCP V2.5.0 版本为例提供操作指导,OCP 其他版本的操作请参考对应版本的《 OCP 用户指南》文档。 1. 登录 OCP 。 默认进入 **集群概览** 页面。 2. 在 **集群概览** 页面的 **集群列表** 区域,选择待操作的集群并单击其集群名。 3. 在显示的页面的左侧导航栏上,单击 **参数管理** 。 4. (可选)在 **参数列表** 页面上方的搜索框中,输入参数名相关信息进行模糊搜索。 ![](https://cdn.nlark.com/yuque/0/2020/png/1669719/1595245608656-16e839aa-a95f-478f-affa-b2da5e69406e.png) 5. 找到待修改的参数,在对应的 **操作** 列中,单击 **修改值** 。 6. 在弹出的对话框中,修改参数的值及生效范围,单击 **确定** 。 ![](https://cdn.nlark.com/yuque/0/2020/png/1669719/1595245926153-5349ee86-9333-49eb-97bb-632cd98a0f07.png) 由于 OceanBase 集群参数可以有全局(即 **集群** )、Zone 和 Server 三种生效范围,故在修改值时请根据业务需要选择生效范围。 默认生效范围是 **集群** 。如果需要调整到 Zone 或 Server 的生效范围,则可以在 **生效范围** 列取消选中 **集群** ,此时系统会显示集群下的 Zone 列表。根据提示选择 Zone 并选中,则选中了 Zone 的生效范围;如果选择 Zone 后,继续选择该 Zone 下的 Server 列表,则在 Server 范围生效。 如果需要修改参数的值同时在不同的范围生效,例如,修改 **backup_concurrency** 在 **Zone 1** 为 **10** ;在 **Zone 2** 为 **12** ;在 **Server 1** 上为 **20** ,则可以在 **值** 列单击 **添加值** 后出现 3 行记录。每行记录可以选中对应的生效范围。 **说明** 如果单击 **添加值** 后出现多行修改值时,对集群的参数修改顺序是从第一行往下依次执行,并且每次执行成功后,会在 OCP 的 **修改历史** 页签中产生一条历史记录。