DMS的数据追踪功能可以快速按需找到目标时间段内的相关更新,并生成逆向回滚语句,追踪完的数据可批量生成回滚脚本,通过数据变更工单最终执行到数据库中完成数据的修复。当误操作受影响的数据量在10万以内时,您可使用该方法进行数据恢复。
前提条件
已为集群开启Binlog。详细操作步骤,请参见开启Binlog。
若在DMS中,该集群的管控模式为自由操作与稳定变更,请先通过DMS登录目标集群。
步骤一、查找需回滚记录,生成回滚脚本
首先,您需要在DMS控制台提交数据追踪工单申请,审批通过后,根据解析出的日志,选择需要回滚的变更记录,并生成回滚脚本。
登录新版DMS控制台。
在页面顶部,选择 。
在页面右上角,单击+数据追踪。
在数据追踪工单申请页面,根据下表填写工单申请。
参数名
说明
任务名称
便于后续检索,并提供给审批人员清晰的操作意图。
库名
误操作对象的数据库名。
表名
误操作对象的表名。
追踪类型
支持多选,可按需勾选检索的操作。
时间范围
默认为当前时间往前2小时。单次工单最长追踪时长跨度为6小时,若超过则可分段建多个工单处理。最长可追踪时间点为目标数据库服务器上Binlog文件当前存储的最早时间。
单击提交申请,系统将获取日志文件。
获取日志文件后,系统会进入审批环节。
说明若Binlog未开启或数据库未登录,系统将无法获取日志文件。
等待审批通过。
说明数据追踪的默认安全审批规则为:数据库对应的DBA进行审批。
审批通过后,系统会进行日志下载、日志解析等操作。
待解析完成后,您可以勾选需要回滚的变更记录,单击导出回滚脚本即可。
步骤二、执行回滚
导出回滚脚本后,您可以提交普通数据变更工单,将此回滚脚本作为附件上传至工单中,执行至目标数据库中。
在DMS控制台页面顶部,选择 。
可参考下表填写数据变更工单申请,并单击提交申请。
表 1. 数据变更参数说明
参数名
说明
数据库
要恢复的数据库名称。
影响行数
预估本次更新会影响的数据行数,可在SQLConsole以
count
统计。变更SQL
选择附件,并将步骤一中生成的脚本上传至附件。
工单提交后,系统会进行内容合法性检查。
当检查通过后,需要您提交审批,审批通过后,就会生成执行任务。
说明数据变更的默认安全审批规则为:数据库对应的DBA进行审批。
单击执行变更。