ob中通过show parameters查询配置项;show variables查看系统变量(mysql模式)。
配置项
通过配置项的设置可以控制集群的负载均衡、合并时间、合并方式、资源分配和模块开关等功能。
配置项分类
ob数据库的配置项分为集群级配置项和租户级配置项。
集群级配置项:指适用于整个 OceanBase 数据库集群的配置选项,它们具有全局性质,用于配置整个集群的基本信息、性能参数、安全选项等等。这些配置项通常包括数据备份和恢复、负载均衡等方面的配置选项。集群级配置项通常是在集群启动时进行配置,配置后不轻易修改。
租户级配置项:指适用于租户级别的配置选项,它们是针对单个租户或多个租户的配置选项。用于对单个租户或多个租户进行特定的配置和优化。这些配置项通常包括存储引擎参数、SQL 执行策略、访问控制等方面的配置选项。租户级配置项通常可以在租户创建和管理时进行配置,可以随时根据需要进行修改。
系统变量
通过系统变量的设置可以控制数据库系统的各种行为,如缓存大小、并发连接数、CPU 使用率、内存使用率等等。同时,系统变量也可以用于配置数据库系统的各种功能。
系统变量分类
OceanBase 数据库的系统变量分为全局变量和 Session 变量。
Global 变量:表示 Global 级别的修改,数据库同一租户内的不同用户共享全局变量。全局变量的修改不会随会话的退出而失效。此外,全局变量修改后,对当前已打开的 Session 不生效,需要重新建立 Session 才能生效。
Session 变量:表示 Session 级别的修改。当客户端连接到数据库后,数据库会复制全局变量来自动生成 Session 变量。Session 变量的修改仅对当前 Session 生效。
配置项与系统变量的区分
对比项 | 配置项 | 系统变量 |
---|---|---|
生效范围 | 分为集群、Zone、机器和租户。 | 分为租户的 Global 或 Session 级别。 |
生效方式 |
|
|
修改方式 |
| 仅支持通过 SQL 语句修改,示例如下:
|
查询方式 | 可以使用 SHOW PARAMETERS 语句查询。示例:SHOW PARAMETERS LIKE 'schema_history_expire_time'; | 可以使用 SHOW [GLOBAL] VARIABLES 语句查询。示例如下:
|
持久化 | 持久化到内部表与配置文件,可以在 /home/admin/oceanbase/etc/observer.config.bin 与 /home/admin/oceanbase/etc/observer.config.bin.history 文件中查询该配置项。 | 仅 Global 级别的变量会持久化,Session 级别的变量不会进行持久化。 |
生命周期 | 长,从进程启动到退出。 | 短,需要租户的 Schema 创建成功以后才生效。 |
视图 GV$OB_PARAMETERS
用于展示租户所在的所有 OBServer 节点上的配置项信息
但根据配置项里各个参数,有的在gv$ob_parameters并没有查询到。
参考:
配置项和系统变量概述:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013018
配置项总览:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013478