首批通过分布式安全可靠测评,为关键业务系统打造
管理租户变量
更新时间:2026-06-21 11:16:43
本节主要介绍租户管理变量的查询及设置方法。
租户的变量分为 Global 级别和 Session 级别。Session 级别的变量默认继承自 Global 级别的变量。同时,Session 建立后可以设定 Session 级别的变量。
查询变量
您可以通过 SHOW 语句或视图来查询变量值。
通过 SHOW 语句查询变量
通过 SHOW 语句查询 Session/Global 级别变量的语法如下:
查询 Session 级别变量
SHOW [SESSION] VARIABLES [LIKE 'pattern' | WHERE expr]查询 Global 级别变量
SHOW GLOBAL VARIABLES [LIKE 'pattern' | WHERE expr]
其中,pattern 表示变量关键字。
示例:
obclient> SHOW VARIABLES LIKE 'ob_query_timeout';
obclient> SHOW SESSION VARIABLES LIKE 'ob_query_timeout';
obclient> SHOW GLOBAL VARIABLES WHERE variable_name LIKE 'ob_query_timeout';
通过视图查询变量
您也可以通过查询以下视图来获取 Session/Global 级别的变量值:
obclient> SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';
obclient> SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';
设置变量
设置 Session 级别的变量仅对当前 Session 有效,对其他 Session无效。设置 Global 级别的变量对当前 Session 无效,需要重新登录建立新的 Session 才会生效。
设置 Session/Global 级别变量语句的语法如下:
设置 Session 级别变量
SET [SESSION] VARIABLE_NAME = 'VALUE';说明
Oracle 模式还可以通过
ALTER SYSTEM SESSION SET VARIABLE_NAME = 'VALUE';语句设置 Session 级别的变量。设置 Global 级别变量
SET GLOBAL VARIABLE_NAME = 'VALUE';说明
Oracle 模式还可以通过
ALTER SYSTEM SET VARIABLE_NAME = 'VALUE';语句设置 Global 级别的变量。
其中,设置 Global 级别变量要求当前用户拥有 SUPER 权限或 ALTER SYSTEM 权限。
说明
查看当前拥有权限的操作请参见 查看用户权限。如果您没有所需的权限,请联系管理员为您添加,为用户添加权限的相关操作请参见 修改用户权限。
示例:
obclient> SET ob_query_timeout = 20000000;
obclient> SET SESSION ob_query_timeout = 20000000;
obclient> SET GLOBAL ob_query_timeout = 20000000;
对于变量中类型为 INT, 并且在 SHOW VARIABLES 命令中显示 ON/OFF 或者 True/False的变量,可以通过如下任意方法设置变量值。
obclient> SET @@foreign_key_checks = ON;
obclient> SET @@foreign_key_checks = 1;
以上两种方式的 Session 级别变量的设置是等效的。
更多信息
关于 OceanBase 数据库中变量的更多详细介绍信息请参见 配置管理。
更多变量的介绍信息,请参见《参考指南》文档中 系统变量 的内容。