---
title: "设置参数 - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: 设置参数 OceanBase 数据库的配置项分为集群级配置项和租户级配置项。您可以通过配置项的设置使 OceanBase 数据库的行为符合您业务的要求。 参数分类 OceanBase 数据库的配置项分为集群级配置项和租户级配置项。通过配置项的设置可以控制整个集群的负载均衡、合并时间、合并方式、资源分配和模块开关等功能…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.1.0

# 设置参数

更新时间：2024-02-19 17:06:07

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/700.reference/200.administrator-guide/200.basic-database-management/200.configuration-management/200.set-parameters.md)  

OceanBase 数据库的配置项分为集群级配置项和租户级配置项。您可以通过配置项的设置使 OceanBase 数据库的行为符合您业务的要求。

## 参数分类

OceanBase 数据库的配置项分为集群级配置项和租户级配置项。通过配置项的设置可以控制整个集群的负载均衡、合并时间、合并方式、资源分配和模块开关等功能。

- 集群级配置项：作用范围为整个集群所有 OBServer。
 - 租户级配置项：作用范围为当前租户在集群内所在的 OBServer。

名称以 "_" 开头的配置项称为隐藏配置项，如：`_ob_max_thread_num` 。仅供开发人员在故障排查或紧急运维时使用。本文不对隐藏配置项进行详细介绍，下文中的配置项均不包含隐藏配置项。

不同租户对配置项的查看和修改级别如下表所示：

| 租户类型 | 参数查看 | 参数设置 |
| --- | --- | --- |
| 系统租户 | 集群级配置项、租户级配置项   > **说明**   > `SHOW PARAMETERS` 语句通过指定 `TENANT` 关键字来查看指定租户的配置项信息 | 集群级配置项、租户级配置项   > **说明**   >  系统租户下，可以通过指定 `TENANT` 关键字来修改全部或指定租户的租户级配置项 |
| 普通租户 | 集群级配置项和本租户的租户级配置项 | 本租户的租户级配置项 |

当前 OceanBase 数据库中配置项的主要数据类型及其相关说明如下表所示：

| 数据类型 | 说明 |
| --- | --- |
| BOOL | boolean 类型（布尔），支持 true/false。 |
| CAPACITY | 容量单位，支持 b （字节）、k （KB，千字节）、m （MB，百万字节）、 g （GB，10亿字节）、t （TB，万亿字节）、p（PB，千万亿字节）。单位不区分大小写字母，默认为 m。 |
| DOUBLE | 双精度浮点数，占用 64 bit 存储空间，精确到小数点后 15 位，有效位数为 16位 。 |
| INT | int64 整型，支持正负整数和 0。 |
| MOMENT | 时刻。格式为 `hh:mm`（例如 `02:00`）；或者特殊值 `disable`，表示不指定时间。目前仅用于 `major_freeze_duty_time` 参数。 |
| STRING | 字符串。用户输入的字符串的值。 |
| STRING_LIST | 字符串列表，即以分号 （;）分隔的多个字符串。 |
| TIME | 时间类型。支持 us （微秒）、ms （毫秒）、s （秒）, m （分钟）、h （小时）、d （天）等单位。如果不加后缀，默认为秒（s）。单位不区分大小写字母。 |

## 通过 SQL 语句修改配置项

### MySQL 模式

修改配置项的 SQL 语法如下：

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

```

参数说明：

- `parameter_name`：指定要修改的配置项名称。
 - `expression`：指定修改后的配置项的值。
 - `COMMENT 'text'`：用于添加关于本次修改的注释。该参数为可选，建议不要省略。
 - `SCOPE`：指定本次配置项修改的生效范围，默认为 `BOTH`。

     - `SPFILE`：表示只修改内部表中的配置项值，当 OBServer 节点重启以后才生效。仅重启生效的配置项支持。
     - `BOTH`：表示既修改内部表中的配置项值，又修改内存中的配置项值，修改立即生效，且 OBServer 节点重启以后配置值仍然生效。
 - `TENANT`：用于在系统租户下，修改所有或指定租户的租户级配置项。

     - `ALL`：所有租户。
     - `tenant_name`：指定租户。
 - `SERVER`：只修改指定 Server 实例的某个配置项。
 - `ZONE`：表明本配置项的修改针对指定集群的特定 Server 类型，否则，针对所有集群的特定 Server 类型。

  #### 说明

     - 同时修改多个配置项时，以逗号（,）分隔。
     - 集群级配置项不能通过普通租户设置，也不可以通过系统租户（即 `sys` 租户） 指定为普通租户设置，仅支持在系统租户下配置。例如，执行 `ALTER SYSTEM SET memory_limit='100G' TENANT='test_tenant'` 语句将导致报错，因为 `memory_limit` 是集群级配置项。
     - 租户级配置项可以直接在本租户下修改，也可以在系统租户下通过指定 `TENANT` 关键字来修改。
     - `ALTER SYSTEM` 语句不能同时指定 Zone 和 OBServer。并且在指定 Zone 时，仅支持指定一个 Zone；指定 OBServer 时，仅支持指定一个 OBServer。如果修改时，不指定 Zone 也不指定 OBServer，则集群级配置项会在整个集群所有 OBServer 上生效；租户级配置项会在当前租户在集群内所在的 OBServer 上生效。
     - 确认一个配置项为集群级别还是租户级别，可根据 `SHOW PARAMETERS` 语句执行结果中的 `scope` 列对应的值来判断：

       - `scope` 值为 `CLUSTER` 则表示为集群级配置项。
       - `scope` 值为 `TENANT` 则表示为租户级配置项。

### 示例

修改 `log_disk_utilization_threshold` 配置项的示例如下：

```sql
obclient> ALTER SYSTEM SET log_disk_utilization_threshold = 20;

```

修改指定 Zone 的 `log_disk_utilization_threshold` 配置项的示例如下：

```sql
obclient> ALTER SYSTEM SET log_disk_utilization_threshold = 20 ZONE='z1';

```

修改指定 OBServer 的 `log_disk_utilization_threshold` 配置项的示例如下：

```sql
obclient> ALTER SYSTEM SET log_disk_utilization_threshold = 20 SERVER='XXX.XXX.XXX.XXX:XXXXX';

```

在系统租户下，修改所有或指定租户的租户级配置项。示例如下：

```sql
obclient> ALTER SYSTEM SET log_disk_utilization_threshold = 20 TENANT='ALL';
obclient> ALTER SYSTEM SET log_disk_utilization_threshold = 20 TENANT='Oracle';

```

#### 说明

执行成功以后，所有被指定租户的配置项均会被修改。

### Oracle 模式

修改配置项的 SQL 语法如下：

```sql
ALTER SYSTEM SET parameter_name = expression

```

参数说明：

- parameter_name：指定要修改的配置项名称。
 - expression：指定修改后的配置项的值。

  #### 说明

     - 同时修改多个配置项时，以逗号（,）分隔。
     - Oracle 模式下，只能配置租户级配置项。
     - 租户级配置项可以直接在本租户下修改，也可以在系统租户下通过指定 `TENANT` 关键字来修改。

### 示 **例**

修改 `log_disk_utilization_threshold` 配置项的示例如下：

```

## 通过 SQL 语句查看配置项

查看配置项的 SQL 语法如下：

```sql
SHOW PARAMETERS [LIKE 'pattern' | WHERE expr] [TENANT = tenant_name]

```

#### 说明

- 系统租户下，可以查看本租户的租户级配置项和集群级配置项信息。同时，可以通过指定 `TENANT` 关键字来查看指定租户的配置项信息。
 - 普通租户下，可以查看本租户的租户级配置项以及系统租户的集群级配置项信息。
 - `WHERE expr` 中可以指定的列属性与 `SHOW PARAMETERS` 返回结果中的列属性一致。

通过 `SHOW PARAMETERS` 语句查看配置项的示例如下：

```sql
obclient> SHOW PARAMETERS WHERE scope = 'tenant';
obclient> SHOW PARAMETERS WHERE svr_ip != 'XXX.XXX.XXX.XXX';
obclient> SHOW PARAMETERS WHERE INFO like '%ara%';
obclient> SHOW PARAMETERS LIKE 'large_query_threshold';
+-------+----------+-----------------+----------+-----------------------+-----------+-------+------------------------------------------------------------------------------------------------------------------------------+---------+---------+---------+-------------------+
| zone  | svr_type | svr_ip          | svr_port | name                  | data_type | value | info                                                                                                                         | section | scope   | source  | edit_level        |
+-------+----------+-----------------+----------+-----------------------+-----------+-------+------------------------------------------------------------------------------------------------------------------------------+---------+---------+---------+-------------------+
| zone1 | observer | XXX.XXX.XXX.XXX |     2882 | large_query_threshold | NULL      | 5s    | threshold for execution time beyond which a request may be paused and rescheduled as a \'large request\'. Range: [1ms, +∞)   | TENANT  | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE |
+-------+----------+-----------------+----------+-----------------------+-----------+-------+------------------------------------------------------------------------------------------------------------------------------+---------+---------+---------+-------------------+
1 row in set (0.01 sec)

```

返回结果中的列属性如下表所示：

| 列名 | 含义 |
| --- | --- |
| zone | 所在的 Zone |
| svr_type | 机器类型 |
| svr_ip | 机器 IP |
| svr_port | 机器端口 |
| name | 配置项名 |
| data_type | 配置项数据类型，包括 `NUMBER` 、`STRING` 、`CAPACITY` 等 |
| value | 配置项值    **说明**    由于在修改配置项值时，支持修改指定 Zone 或 Server 的配置项值，故不同 Zone 或 Server 对应的配置项的值可能不同。 |
| info | 配置项的说明信息 |
| section | 配置项所属的分类：   - `SSTABLE`：表示 SSTable 相关的配置项。 - `OBSERVER`：表示 OBServer 节点相关的配置项。 - `ROOT_SERVICE`：表示 Root Service 相关的配置项。 - `TENANT`：表示租户相关的配置项。 - `TRANS`：表示事务相关的配置项。 - `LOAD_BALANCE`：表示负载均衡相关的配置项。 - `DAILY_MERGE`：表示合并相关的配置项。 - `CLOG`：表示 Clog 相关的配置项。 - `LOCATION_CACHE`：表示 Location Cache 相关的配置项。 - `CACHE`：表示缓存相关的配置项。 - `RPC`：表示 RPC 相关的配置项。 - `OBPROXY`：表示 OBProxy 相关的配置项。 |
| scope | 配置项范围属性：   - `TENANT`：表示该配置项为租户级配置项 - `CLUSTER`：表示该配置项为集群级配置项 |
| source | 当前值来源：   - `TENANT` - `CLUSTER` - `CMDLINE` - `OBADMIN` - `FILE` - `DEFAULT` |
| edit_level | 定义该配置项的修改行为：   - `READONLY`：表示该参数不可修改。 - `STATIC_EFFECTIVE`：表示该参数可修改但需要重启 OBServer 节点才会生效。 - `DYNAMIC_EFFECTIVE`：表示该参数可修改且修改后动态生效。 |

## 更多信息

更多配置项参考信息，请参见 [系统配置项](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001698932)。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
