作者:郑增权
爱可生南区数据库工程师,爱可生 DBA 团队成员,负责数据库相干技术支持。喜好:桌球、羽毛球、咖啡、电影。
本文起源:原创投稿
- 爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。
背景
客户想在业务上线前记录现有 OceanBase 集群的 Parameters、Variables、ProxyCofnig 参数值。而后,将其与“默认值”或“DBA 被动刷的调优参数”进行比照,若是“默认值”或“DBA 被动刷的调优参数”则合乎预期,否则认为其是不合乎预期的值。最初,生成一份报表文件,标记出非预期的值,再由人工确认其合理性。
客户所用的 OceanBase 版本还没有提供追溯所有参数批改记录的办法,作者提供了利用 Shell 脚本 + Excel VLOOKUP 函数,疾速采集 OB 参数,并生成参数存档文件 的办法来实现该需要。
上面将展现该办法的实现步骤。
实现
2.1 筹备脚本和模板文件
测试环境装置同版本的 OBServer、OBproxy,编写 Shell 脚本用于获取默认的 Parameters、Variables、ProxyCofnig 参数值,并将其提取进去,放至 Excel 作为“默认值模板”。
主备集群模式,主集群和备集群需别离执行脚本获取参数文件:
参数 | 级别 | 阐明 |
---|---|---|
Parameters | 集群级 | 每个集群获取一份参数 |
Variables | 租户级 | 每个租户获取一份参数 |
ProxyConfig | 节点级 | 每个 OBProxy 节点获取一份参数 |
三个脚本在文末出现并已传至 GIthub。
运行三个脚本,并下载后果文件。
整顿下载的文件,造成三个汇总文件。
- Parameters 默认值模板
- Variables 默认值模板
- ProxyConfig 默认值模板
2.2 提取参数
将 DBA 被动刷的参数提取进去,仿照“默认值模板”放至 Excel 作为“刷参数默认值模板”sheet。
2.3 获取比照参数
在生产环境运行 Shell 脚本获取参数,将参数放至 Excel,基于 vlookup 进行跨 sheet 比照,将不合乎预期的参数值以红色底纹展现。
上面以 Variables 为例进行展现,Parameters 和 ProxyConfig 与其相似。
=IFERROR(IF(B2=VLOOKUP(A2,variables 模板!A:B,2,FALSE),” 统一 ”,” 不统一 ”),” 不存在 ”)
=IFERROR(IF(B2=VLOOKUP(A2, 刷参数默认值模板!A:B,2,FALSE),” 统一 ”,” 不统一 ”),” 不存在 ”)
2.4 人工确认
将不合乎预期的参数与客户进行确认,不符合要求的需择期整改。
总结
- OceanBase 以后版本尚未提供追溯所有参数批改记录的办法,本文为记录参数批改记录提供一种思路。
- 基于本文办法进行参数比照,在参数有更新时需在 Excel 中同步更新。
- 当我的项目上线后,若有参数被违规批改,基于此存档文件可进行追溯比照。
更多技术文章,请拜访:https://opensource.actionsky.com/
对于 SQLE
爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,反对多场景审核,反对标准化上线流程,原生反对 MySQL 审核且数据库类型可扩大的 SQL 审核工具。
SQLE 获取
类型 | 地址 |
---|---|
版本库 | https://github.com/actiontech/sqle |
文档 | https://actiontech.github.io/sqle-docs/ |
公布信息 | https://github.com/actiontech/sqle/releases |
数据审核插件开发文档 | https://actiontech.github.io/sqle-docs/docs/dev-manual/plugin… |