DRDS SQL闪回介绍
1、SQL闪回注意事项
1、SQL闪回依赖RDS BINLOG保存时间,需要注意开启binlog备份。
2、SQL闪回生成的恢复文件默认保存7天,闪回sql后需要尽快执行。
3、SQL闪回精确匹配需要满足如下条件:PolarDB-X 1.0实例版本在5.3.4-15378085版本及以上,同时PolarDB-X 1.0数据库使用的RDS是5.6及以上版本。
4、SQL闪回精确匹配开关需要开启。ENABLE_SQL_FLASHBACK_EXACT_MATCH参数为ON。
2 确定闪回sql的trace_id
通过审计查询 SQL 的 trace_id 可以精准恢复事务
3 进行闪回预检
如果您提供的时间范围内,已不存RDS BINLOG,则提示预检失败,无法恢复数据。
如果您提供的时间范围内,存在RDS BINLOG,则预检通过。
4 选择恢复方式
回滚SQL
逆序遍历BINLOG中的匹配事件,对INSERT、UPDATE、DELETE事件进行逆反操作,生成的SQL。
INSERT逆反等价于DELETE。
DELETE逆反等价于REPLACE。
UPDATE逆反等价于UPDATE SET value = 变更前。
使用方式:在原表执行,对现有数据进行覆盖性恢复。
适用场景:当需要恢复的数据没有冲突或者接受部分冲突数据被覆盖,建议生成回滚SQL。
原始SQL
顺序遍历BINLOG中的匹配事件,对INSERT、UPDATE、DELETE事件进行全记录的镜像构造处理,生成的SQL。
INSERT镜像等价于INSERT。
DELETE镜像等价于INSERT。
UPDATE镜像等价于INSERT变更前的值。
使用方式:在临时表执行,写入误操作前的原始数据,与现有数据进行对比,分析冲突后决定最终数据。
适用场景:当需要恢复的数据与当前数据存在冲突时,建议生成原始SQL。
2.5 进行语句闪回
单击生成SQL按钮,即可生成SQL闪回任务。SQL闪回页面会展示当前实例运行的SQL闪回任务状态,等待任务完成,闪回语句生成成功即可。
SQL闪回任务完成,下载执行即可。
2.6 业务验证
数据库恢复完成后,QA 验证数据是否一致、可用。