上线发布
上线发布是对数据库发起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、在【我的工单】页面,可查看所有上线工单,也可通过如下方式快速定位到目标
- 工单名称
- 工单号
- 创建人
- 是否可用:作废的工单为不可用,其他均为可用
- 执行结果:即执行后的变更语句搜索
- 执行人