Skip to main content

上线发布

上线发布是对数据库发起SQL操作的任务,主要包括 DDL(数据库定义语言)、DML(数据库操纵语言)等 SQL 语句。本文介绍如何使用上线发布。

功能介绍

司南提供SQL上线流程的闭环管理。支持SQL发布的自动审核、人工审核、无锁变更、变更数据备份、定时与手动发布、发布任务跟踪。 平台内置审核规则库,审核规则来自于数据库原厂以及行业最佳实践库,可以对发布到测试库、生产库等多种环境的SQL进行自动审核,并向管理员提供风险提示与审核报告。 同时,发布的SQL,可以通过定时或手动发布模式被发布到数据库中。

  • 发布前,司南对SQL进行预审核跟风险提示;对变更数据进行自动备份;
  • 发布中,司南对发布任务进行状态跟踪;
  • 发布后,司南对发布任务完成情况进行通知与告警。

实现上线流程的闭环管控,避免有风险或者未经审核的SQL发布上线; 避免流程绕过,紧急临时发布;避免变更数据无备份等多种影响数据库稳定运行的情况。

前提条件

  • 数据源类型必须为下列其中之一:MySQL、SQL Server、Oracle、OceanBase、DB2、tidb、goldendb、mongodb、kingbase等
  • 无锁变更功能仅MySQL数据库支持

无锁变更条件

  • 不能带有系统表;
  • 表中必须有主键;
  • 语句要去掉表名,如正常的SQL语句是: ''' ALTER CESHI ADD COLUMN cccc int(10) NOT NULL 需转换成 ADD COLUMN cccc int(10) NOT NULL '''

  • 工单流程已经配置,且有访问上线工单模块权限

提交上线工单

1、登录司南平台

2、在左侧导航栏,点击【运管中心】-【上线工单】

3、在上线工单列表列右侧,点击 "创建" 按钮

4、在创建上线发布页面,根据下面字段配置工单

提示

或在【云客户端】页面菜单栏处,点击【上线发布】来创建工单


参数说明
名称请输入工单名称,为减少沟通成本,情景两使用有意义的名称
工单流程选择管理员创建的SQL发布工单流程,会默认选择一个。如果无法选择,请联系管理员配置流程。
工单执行人可指定执行人,也可不指定,由流程里的执行人去认领
发布类型1、单个发布: 发布到一个数据库实例;
2、批量发布: 发布到多个数据库实例
纳管资源选择要变更的数据库
账号选择执行工单的数据库真实账号。默认监控账号,也可在【资源中心】-【数据源】的管理里面配置,详见数据源管理的数据库账号添加
脚本此处可通过云盘上传本地上传git仓库上传手动输入 多种方式上传脚本,也可上传多种脚本:变更脚本、 回滚脚本、备份脚本、验证脚本、清理脚本。
执行方式 1、自动执行: 没填执行时间,表示审核通过后立刻执行 SQL 语句,填了执行时间,则定时执行。
2、手动执行: 审核通过后,需要发起人去点击执行SQL按钮
是否备份开启备份,SQL任务默认会在执行之前针对需要变更的内容进行备份,以防止执行出错后对业务造成影响。备份的同时,会生成回滚语句
超时时间设置超过设置的执行时间后,终止执行
SQL审核是否开启是否开启SQL的自动审核,开启后平台会对SQL进行自动审核,向管理员提示风险
审核形式1、语法审核: 对SQL语句的规范性进行审核,如语法是否正确、命名是否规范;
2、语义审核: 对SQL操作的规范性进行审核,如对象是否存在、影响范围过大等
审核规则模版对SQL进行审核的规则,预先由管理员创建
通知人执行详细信息与错误信息告知人,可多选
通知策略选择告知执行的详细信息或错误信息

4、工单提交完成后,可在工单详情查看预审核信息。如果命中严重风险项,可修正语句

撤回上线工单

1、登录司南平台

2、点击【运管中心】-【上线工单】,进入【我的工单】列表

提示

或在【云客户端】页面菜单栏处,点击【申请列表】-【上线发布】-【我的工单】列表


3、【我的工单】列表右侧,点击 "更多" 按钮里的 "作废" 按钮,则可以撤回工单 撤回后,工单将不可用

审批上线工单

提示

  • 创建工单有指定执行人时,则指定执行人审批
  • 创建工单没有自定执行人时,由流程选择的执行角色里的用户先认领(仅一人可认领),在审批

1、登录司南平台

2、在左侧导航栏,点击【运管中心】-【上线工单】,进入【待处理】列表(或先在待认领处认领)

3、点击工单名称进入工单详情,可见变更脚本和预审核信息

4、在详情底部,有操作按钮,可根据实际情况选择回退或通过

操作说明
回退驳回申请,不执行该SQL任务,需要输入驳回原因,并单击确定。
确定批准申请,可更改执行方式和执行时间。

查看工单列表

1、登录司南平台

2、在左侧导航栏,点击【运管中心】-【上线工单】,进入【我的工单】页面

3、在【我的工单】页面,可查看所有上线工单,也可通过如下方式快速定位到目标

  • 工单名称
  • 工单号
  • 创建人
  • 是否可用:作废的工单为不可用,其他均为可用
  • 执行结果:即执行后的变更语句搜索
  • 执行人