乐趣区

关于mysql:OceanBase谁动了我得参数

作者:郑增权

爱可生南区数据库工程师,爱可生 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 人工确认

将不合乎预期的参数与客户进行确认,不符合要求的需择期整改。

总结

  1. OceanBase 以后版本尚未提供追溯所有参数批改记录的办法,本文为记录参数批改记录提供一种思路。
  2. 基于本文办法进行参数比照,在参数有更新时需在 Excel 中同步更新。
  3. 当我的项目上线后,若有参数被违规批改,基于此存档文件可进行追溯比照。
    更多技术文章,请拜访: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…
退出移动版