作者简介:海芊,一个致力于当网红的OceanBase文档工程师。
个人频道:Amber loves OB
不少刚入坑使用 OceanBase 的小伙伴都有这样一种困惑:参数和变量傻傻分不清楚。每次想查询一个参数/变量,总是拿不准到底用 SHOW PARAMETERS
还是 SHOW [GLOBAL] VARIABLES
,能不能查到全靠运气。今天,就让我们一起撸一遍 OceanBase 的常见参数和变量,彻底把这个问题搞清楚。
参数与变量对比
下面的表格从多方面对参数和变量进行了对比。通常集群级别的设置用参数,租户级别的设置用变量。
参数
通过设置参数,可以控制集群的负载均衡、合并时间、合并方式、资源分配和模块开关等。参数的生效方式有两种,即动态生效和重启生效。大部分参数为动态参数,也就是说无需重启 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):
变量
查看变量
以变量 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 常用参数和变量
- 修改集群参数
- 查询集群参数
- 参数概述
- 参数和变量的区别