OceanBase 常见参数和变量究竟有什么本质区别?

2024年 5月 7日 57.1k 0

作者简介:海芊,一个致力于当网红的OceanBase文档工程师。

个人频道:Amber loves OB

不少刚入坑使用 OceanBase 的小伙伴都有这样一种困惑:参数和变量傻傻分不清楚。每次想查询一个参数/变量,总是拿不准到底用 SHOW PARAMETERS 还是 SHOW [GLOBAL] VARIABLES,能不能查到全靠运气。今天,就让我们一起撸一遍 OceanBase 的常见参数和变量,彻底把这个问题搞清楚。

参数与变量对比

下面的表格从多方面对参数和变量进行了对比。通常集群级别的设置用参数,租户级别的设置用变量。

OceanBase 常见参数和变量究竟有什么本质区别?-1

参数

通过设置参数,可以控制集群的负载均衡、合并时间、合并方式、资源分配和模块开关等。参数的生效方式有两种,即动态生效和重启生效。大部分参数为动态参数,也就是说无需重启 OceanBase 服务即可生效。

查看参数

以参数 max_syslog_file_count 为例。使用以下方式查看参数:

obclient> SHOW PARAMETERS LIKE 'sql_work_area';
+-------+----------+----------------+----------+---------------+-----------+-------+----------------------------------------+----------+--------+---------+------------------+
| zone  | svr_type | svr_ip         | svr_port | name          | data_type | value | info                                   | section  | scope  | source  | edit_level       |
+-------+----------+----------------+----------+---------------+-----------+-------+----------------------------------------+----------+--------+---------+------------------+
| zone3 | observer | XXX.XX.XXX.XXX |     2882 | sql_work_area | NULL      | 1G    | Work area memory limitation for tenant | OBSERVER | TENANT | DEFAULT | STATIC_EFFECTIVE |
| zone1 | observer | XXX.XX.XXX.XXX |     2882 | sql_work_area | NULL      | 1G    | Work area memory limitation for tenant | OBSERVER | TENANT | DEFAULT | STATIC_EFFECTIVE |
| zone2 | observer | XXX.XX.XXX.XXX |     2882 | sql_work_area | NULL      | 1G    | Work area memory limitation for tenant | OBSERVER | TENANT | DEFAULT | STATIC_EFFECTIVE |
+-------+----------+----------------+----------+---------------+-----------+-------+----------------------------------------+----------+--------+---------+------------------+

修改参数

您可以使用 ALTER SYSTEM SET 语句修改参数。例如:

obclient> ALTER SYSTEM SET enable_sql_audit = false scope = BOTH;

以上语句将参数 enable_sql_audit 的生效范围修改为 BOTH,表明既修改配置表,又修改内存值,修改立即生效。不过生产环境中不建议更改成 BOTH,此处仅是举例,请注意。

常见参数

下表列出了 OceanBase 常用的跟开发有关的参数(parameters):

OceanBase 常见参数和变量究竟有什么本质区别?-2

变量

查看变量

以变量 ob_query_timeout 为例。使用以下方式查看变量:

obclient> SHOW VARIABLES LIKE 'ob_query_timeout';
+------------------+----------+
| Variable_name    | Value    |
+------------------+----------+
| ob_query_timeout | 20000000 |
+------------------+----------+

修改变量

您可以使用 SET [GLOBAL] 语句修改参数。例如:

obclient> SET ob_query_timeout = 20000000;

以上语句将变量 ob_query_timeout 的值修改为 20000000,且生效方式为当前会话。

常见变量

下表列出了 OceanBase 常用的跟开发有关的租户变量(variables):

OceanBase 常见参数和变量究竟有什么本质区别?-3

参考文档

  • OceanBase 常用参数和变量
  • 修改集群参数
  • 查询集群参数
  • 参数概述
  • 参数和变量的区别

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论