36 lines
7.6 KiB
Markdown
36 lines
7.6 KiB
Markdown
系统变量概述
|
|
===========================
|
|
|
|
|
|
|
|
OceanBase 数据库的系统变量主要分为全局变量和 Session 变量:
|
|
|
|
* 全局变量:表示 Global 级别的修改,数据库同一租户内的不同用户共享全局变量。全局变量的修改不会随会话的退出而失效。此外,全局变量修改后,对当前已打开的 Session 不生效,需要重新建立 Session 才能生效。
|
|
|
|
|
|
|
|
* Session 变量:表示 Session 级别的修改。当客户端连接到数据库后,数据库会复制全局变量来自动生成 Session 变量。Session 变量的修改仅对当前 Session 生效。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
与系统配置项对比
|
|
-----------------------------
|
|
|
|
|
|
|
|
| 对比项 | 系统配置项 | 系统变量 |
|
|
|------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
| 生效范围 | 分为集群、Zone、机器和租户。 | 分为租户的 Global 或 Session 级别。 |
|
|
| 生效方式 | * 动态生效:`edit_level` 为`dynamic_effective`。 * 重启生效:`edit_level` 为 `static_effective` 。 | * 设置 Session 级别的变量仅对当前 Session 有效,对其他 Session 无效。 * 设置 Global 级别的变量对当前 Session 无效,需要重新登录建立新的 Session 才会生效。 |
|
|
| 修改方式 | * 支持通过 SQL 语句修改,示例如下: ```sql obclient> Alter SYSTEM SET schema_history_expire_time='1h' ``` <!-- --> * 支持通过启动参数修改,示例如下: ```sql cd /home/admin && ./bin/observer -o "schema_history_expire_time='1h'" ``` | 仅支持通过 SQL 语句修改,示例如下: * MySQL 模式 ```sql obclient> SET ob_query_timeout = 20000000; obclient> SET GLOBAL ob_query_timeout = 20000000; ``` * Oracle 模式 ```sql obclient> SET ob_query_timeout = 20000000; obclient> ALTER SYSTEM SET ob_query_timeout = 20000000; ``` |
|
|
| 持久化 | 持久化到内部表与配置文件,可以在 `/home/admin/oceanbase/etc/observer.config.bin` 与 `/home/admin/oceanbase/etc/observer.config.bin.history` 文件中查询该配置项。 | 仅 GLOBAL 级别的变量会持久化,SESSION 级别的变量不会进行持久化。 |
|
|
| 生命周期 | 长,从进程启动到退出。 | 短,需要租户的 Schema 创建成功以后才生效。 |
|
|
| 查询方式 | 可以使用 `SHOW PARAMETERS` 语句查询。 | 可以使用 `SHOW [GLOBAL] VARIABLES` 语句查询。 |
|
|
|
|
|
|
|
|
本章主要介绍 OceanBase 数据库中的所有系统变量及其缺省值说明(包括参数含义、取值范围和使用说明等)。系统变量的查看和设置相关操作,请参见 [租户管理变量](../../6.administrator-guide/3.basic-database-management/5.tenants/9.tenant-management-variables.md)章节。
|