OceanBase 数据库通过设置配置项和系统变量来完成配置管理。
配置项
配置项主要用于运维,常用于控制机器及其以上级别的系统行为。可以作为 OBServer 启动参数和租户创建参数,也可以在 OBServer 运行时进行修改以调整系统行为。 有关配置项的详细介绍请参见 设置参数。
系统变量
系统变量通常和用户 Session 绑定,用于控制 Session 级别的 SQL 行为。
支持设置 Global 和 Session 级别的变量。设置 Global 级别的系统变量后,当前 Session 上不会生效,新建的任何 Session 都能读到新的变量值。设置 Session 级别的系统变量后,仅对当前 Session 生效。
有关系统变量的详细介绍请参见 设置变量。
系统配置项和系统变量对比
| 对比项 | 系统配置项 | 系统变量 |
|---|---|---|
| 生效范围 | 集群、租户、Zone、机器。 | 租户的 Global 级别或 Session 级别。 |
| 生效方式 |
|
|
| 修改方式 |
| 仅支持通过 SQL 语句修改,示例如下: obclient> SET ob_query_timeout = 20000000;obclient> SET GLOBAL ob_query_timeout = 20000000; |
| 持久化 | 持久化到内部表与配置文件,可以在 /home/admin/oceanbase/etc/observer.config.bin 与 /home/admin/oceanbase/etc/observer.config.bin.history 文件中查询该配置项。 | 仅 GLOBAL 级别的变量会持久化,SESSION 级别的变量不会进行持久化。 |
| 生命周期 | 长,从进程启动到退出。 | 短,需要租户的 Schema 创建成功以后才生效。 |
| 查询方式 | 可以使用 SHOW PARAMETERS 语句查询。示例如下:obclient> SHOW PARAMETERS LIKE 'schema_history_expire_time'; | 可以使用 SHOW [GLOBAL] VARIABLES 或 SELECT 语句查询。 示例如下:obclient> SHOW VARIABLES LIKE 'ob_query_timeout';obclient> SHOW GLOBAL VARIABLES LIKE 'ob_query_timeout';obclient> SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout';obclient> SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'ob_query_timeout'; |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




