作者简介:海芊,一个致力于当网红的 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):
参考文档
厚脸皮地来求个 star
我们想让 Github(https://github.com/oceanbase/oceanbase)上优质的开源项目被更多人看到。
文档都是我们精心整理。如果有帮助的话求个 star(◕ᴗ◕✿),鼓励鼓励我们哟!
也欢迎大家给我们提 issue,运营小姐姐在此跪谢️️ ❥(^_-):
https://github.com/oceanbase/oceanbase
欢迎大家一起参与社区贡献,指南请参考看这里
https://open.oceanbase.com/docs/community/oceanbase-database/V3.1.0/how-to-contribute
社区答疑:https://open.oceanbase.com/answer
评论