跳到主要内容

配置管理介绍

seekdb 通过设置配置项和系统变量来完成配置管理。

配置项

配置项主要用于运维,常用于控制机器及其以上级别的系统行为。可以作为启动参数,也可以在运行时进行修改以调整系统行为。

系统变量

系统变量通常和用户 Session 绑定,用于控制 Session 级别的 SQL 行为。

支持设置 Global 和 Session 级别的变量。设置 Global 级别的系统变量后,当前 Session 上不会生效,新建的任何 Session 都能读到新的变量值。设置 Session 级别的系统变量后,仅对当前 Session 生效。

系统配置项和系统变量对比

对比项系统配置项系统变量
生效范围实例Global 级别或 Session 级别。
生效方式
  • 动态生效:edit_leveldynamic_effective
  • 重启生效:edit_levelstatic_effective
  • 设置 Session 级别的变量仅对当前 Session 有效,对其他 Session 无效。
  • 设置 Global 级别的变量对当前 Session 无效,需要重新登录建立新的 Session 才会生效。
修改方式
  • 支持通过 SQL 语句修改,示例如下:
    Alter SYSTEM SET schema_history_expire_time='1h';
  • 支持通过启动参数修改,示例如下:
    /usr/bin/observer --base-dir /var/lib/oceanbase-lite --schema_history_expire_time='1h'
仅支持通过 SQL 语句修改,示例如下:
SET ob_query_timeout = 20000000;
SET GLOBAL ob_query_timeout = 20000000;
生命周期长,从进程启动到退出。短,需要 Schema 创建成功以后才生效。
查询方式可以使用 SHOW PARAMETERS 语句查询。示例如下:
SHOW PARAMETERS LIKE 'schema_history_expire_time';
可以使用 SHOW [GLOBAL] VARIABLESSELECT 语句查询。 示例如下:SHOW VARIABLES LIKE 'ob_query_timeout';
SHOW GLOBAL VARIABLES LIKE 'ob_query_timeout';
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';