首批通过分布式安全可靠测评,为关键业务系统打造
PARAMETER
更新时间:2026-04-16 00:11:36
描述
ALTER SYSTEM [SET] parameter_name = expression 语句用于修改配置项的值。
OceanBase 数据库的配置项分为集群级配置项和租户级配置项。集群级配置项的作用范围包含整个集群的所有节点;租户级配置项的作用范围为当前租户所在的所有节点。有关配置项的更多介绍,请参见 配置项和系统变量概述。
使用限制及注意事项
仅
sys租户可以修改集群级配置项,用户租户不能修改集群级配置项。Oracle 模式下设置
ALTER SYSTEM SET XXX='True'/'False';有以下调整:- 在 V4.2.1 BP5 之前版本,
True/False必须加上单引号才能配置。 - 在 V4.2.1 BP5 及之后版本,
True/False加不加引号都可配置。
- 在 V4.2.1 BP5 之前版本,
配置项的生效方式一般分为动态生效和重启生效两种,大部分配置项为动态生效方式,即不需要重启 OBServer 节点即可生效。修改配置项前,可通过
SHOW PARAMETERS LIKE语句确认配置项的生效方式。查看配置项生效方式的详细操作,请参见 集群配置项。
权限要求
执行 ALTER SYSTEM [SET] parameter_name = expression 语句需要当前用户拥有 ALTER SYSTEM 权限。有关 OceanBase 数据库权限的详细介绍,请参见 MySQL 模式下的权限分类 和 Oracle 模式下的权限分类。
语法
ALTER SYSTEM [SET] alter_system_set_parameter_actions;
alter_system_set_parameter_actions:
alter_system_set_parameter_action [, alter_system_set_parameter_action...]
alter_system_set_parameter_action:
parameter_name = expression [COMMENT [=] 'text'] [SCOPE = {MEMORY | SPFILE | BOTH}] [SERVER [=] 'ip:port' | ZONE [=] 'zone_name' | TENANT [=] {sys | all_user | all | all_meta | tenant_name}]
参数说明
| 参数 | 描述 |
|---|---|
| parameter_name | 指定待修改的配置项名称。 |
| expression | 指定修改后的配置项的值。 |
| COMMENT | 添加关于本次修改的注释。该参数为可选,建议不要省略。 |
| SCOPE | 指定本次配置项修改的生效范围,主要有以下三种:
SCOPE 的默认值为 BOTH。 |
| SERVER | 指定集群中待修改配置项值的 OBServer 节点,仅支持指定一个 OBServer 节点。 |
| ZONE | 指定集群中待修改配置项值的 Zone,仅支持指定一个 Zone。指定后,本次修改对该 Zone 内的所有 OBServer 节点生效。不能同时指定 Zone 和 Server。 |
| TENANT | 系统租户指定待修改租户级配置项值的租户,如果不指定,默认为本租户。其中:
仅通过 sys 租户修改指定租户的租户级配置项时需要添加该子句。有关租户级配置项的清单,请参见 租户级别配置项。 |
示例
系统租户修改集群级配置项
enable_sql_audit的值。obclient [oceanbase]> ALTER SYSTEM SET ENABLE_SQL_AUDIT = False SCOPE = BOTH;系统租户修改租户
tenant的租户级配置项connection_control_max_connection_delay的值。obclient [oceanbase]> ALTER SYSTEM SET connection_control_max_connection_delay = 2147483646 TENANT = tenant;系统租户修改集群中所有租户(含sys 租户、用户租户、Meta 租户)的租户级配置项
major_freeze_duty_time的值。需要在系统租户下依次执行以下命令:
obclient [oceanbase]> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = sys;obclient [oceanbase]> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = all_user;obclient [oceanbase]> ALTER SYSTEM SET major_freeze_duty_time='01:00' TENANT = all_meta;用户租户修改本租户的租户级配置项
major_freeze_duty_time的值。obclient [oceanbase]> ALTER SYSTEM SET major_freeze_duty_time='01:00';