76 lines
1.9 KiB
Markdown
76 lines
1.9 KiB
Markdown
租户管理变量
|
|
===========================
|
|
|
|
|
|
|
|
租户的变量分为 Global 级别和 Session 级别。Session 级别的变量继承自 Global 级别的变量。同时,Session 建立后可以设定 Session 级别的变量。Session 级别的变量在 Session 中覆盖 Global 级别的变量。
|
|
|
|
查询变量
|
|
-------------
|
|
|
|
下述展示查询 Session/Global 级别变量语句的语法:
|
|
|
|
```sql
|
|
SHOW [GLOBAL] VARIABLES [SHOW_VARIABLES_OPTS]
|
|
SHOW_VARIABLES_OPTS:
|
|
[LIKE 'pattern' | WHERE expr]
|
|
```
|
|
|
|
|
|
|
|
示例:
|
|
|
|
```sql
|
|
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 级别变量语句的语法:
|
|
|
|
```sql
|
|
SET [GLOBAL] VARIABLE_NAME = 'VALUE'
|
|
```
|
|
|
|
|
|
|
|
示例:
|
|
|
|
```sql
|
|
obclient> SET ob_query_timeout = 20000000;
|
|
|
|
obclient> SET GLOBAL ob_query_timeout = 20000000;
|
|
```
|
|
|
|
|
|
|
|
变量中类型为 `INT`,并且在 `SHOW VARIABLE` 命令中显示 `ON/OFF` 或者 `True/False` 的变量,可以通过如下任意方法设置值:
|
|
|
|
```sql
|
|
SET @@foreign_key_checks = ON
|
|
|
|
SET @@foreign_key_checks = 1
|
|
|
|
SET @@foreign_key
|
|
```
|
|
|
|
|
|
|
|
以上三种方式的 Session 级别变量的设置是等效的。
|
|
|
|
更多变量参考信息,请参见 [系统变量参考](../../../14.reference-guide-oracle-mode/2.system-variable-1/2.auto_increment_increment-2.md)。
|
|
|
|
|
|
|