首批通过分布式安全可靠测评,为关键业务系统打造
系统变量概述
更新时间:2026-04-09 12:46:59
OceanBase 数据库的系统变量主要分为全局变量和 Session 变量:
- 全局变量:表示 Global 级别的修改,数据库同一租户内的不同用户共享全局变量。全局变量的修改不会随会话的退出而失效。此外,全局变量修改后,对当前已打开的 Session 不生效,需要重新建立 Session 才能生效。
- Session 变量:表示 Session 级别的修改。当客户端连接到数据库后,数据库会复制全局变量来自动生成 Session 变量。Session 变量的修改仅对当前 Session 生效。
与系统配置项对比
| 对比项 | 系统配置项 | 系统变量 |
|---|---|---|
| 生效范围 | 分为集群、Zone、机器和租户。 | 分为租户的 Global 或 Session 级别。 |
| 生效方式 |
|
|
| 修改方式 |
|
仅支持通过 SQL 语句修改,示例如下:obclient> SET ob_query_timeout = 20000000; obclient> SET GLOBAL ob_query_timeout = 20000000; |
| 持久化 | 持久化到内部表与配置文件,可以在 /home/admin/oceanbase/etc/observer.config.bin 与 /home/admin/oceanbase/etc/observer.config.bin.history 文件中查询该配置项。 |
仅 GLOBAL 级别的变量会持久化,SESSION 级别的变量不会进行持久化。 |
| 生命周期 | 长,从进程启动到退出。 | 短,需要租户的 Schema 创建成功以后才生效。 |
| 查询方式 | 可以使用 SHOW PARAMETERS 语句查询。示例如下:obclient> SHOW PARAMETERS LIKE 'schema_history_expire_time'; |
可以使用 SHOW [GLOBAL] VARIABLES 语句查询。示例如下: obclient> SHOW VARIABLES LIKE 'ob_query_timeout';obclient> SHOW GLOBAL VARIABLES LIKE 'ob_query_timeout'; obclient> SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';obclient> SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout'; |
本章主要介绍 OceanBase 数据库中的所有系统变量及其缺省值说明(包括参数含义、取值范围和使用说明等)。系统变量的查看和设置相关操作,请参见 租户管理变量 章节。