[TOC] # 租户管理变量 租户的变量分为 Global 级别和 Session 级别。Session 级别的变量继承自 Global 级别的变量。同时,Session 建立后可以设定 Session 级别的变量。Session 级别的变量在 Session 中覆盖 Global 级别的变量。 ## 查询变量 下述展示查询 Session/Global 级别变量语句的语法: ~~~ SHOW [GLOBAL] VARIABLES [SHOW_VARIABLES_OPTS] SHOW_VARIABLES_OPTS: [LIKE 'pattern' | WHERE expr] ~~~ 示例: ~~~ obclient> SHOW VARIABLES LIKE 'ob_query_timeout'; obclient> SHOW GLOBAL VARIABLES WHERE variable_name LIKE 'ob_query_timeout'; ~~~ sys 租户可以通过内部表`__all_virtual_sys_variable`查询其他所有普通租户的 Global 变量。 如果连接 sys 租户后再切换到普通租户,此时查询的 Session 级别变量仍然是 sys 租户的 Session 级别的变量。查询的 Global 级别的变量是切换后普通租户的 Global 级别变量。 ## 设置变量 设置 Session 级别的变量仅对当前 Session 有效,对其他 Session 无效。设置 Global 级别的变量对当前 Session 无效,需要重新登录建立新的 Session 才会生效。 下述展示设置 Session/Global 级别变量语句的语法: ~~~ SET [GLOBAL] VARIABLE_NAME = 'VALUE' ~~~ 示例: ~~~ obclient> SET ob_query_timeout = 20000000; obclient> SET GLOBAL ob_query_timeout = 20000000; ~~~ 变量中类型为`INT`,并且在`SHOW VARIABLE`命令中显示`ON/OFF`或者`True/False`的变量,可以通过如下任意方法设置值: ~~~ SET @@foreign_key_checks = ON SET @@foreign_key_checks = 1 SET @@foreign_key ~~~ 以上三种方式的 Session 级别变量的设置是等效的。 更多变量参考信息,请参见[系统变量参考](https://open.oceanbase.com/docs/community/oceanbase-database/V3.1.0/auto_increment_increment-1)。