DRDS SQL闪回介绍

广大1年前技术文章366

1、SQL闪回注意事项

1SQL闪回依赖RDS BINLOG保存时间,需要注意开启binlog备份。

2SQL闪回生成的恢复文件默认保存7天闪回sql后需要尽快执行

3SQL闪回精确匹配需要满足如下条件:PolarDB-X 1.0实例版本在5.3.4-15378085版本及以上同时PolarDB-X 1.0数据库使用的RDS是5.6及以上版本。

4SQL闪回精确匹配开关需要开启。ENABLE_SQL_FLASHBACK_EXACT_MATCH参数为ON。

图片1.png

2 确定闪回sqltrace_id

通过审计查询 SQL 的 trace_id 可以精准恢复事务

图片2.png

3 进行闪回预检

如果您提供的时间范围内,已不存RDS BINLOG,则提示预检失败,无法恢复数据。

如果您提供的时间范围内,存在RDS BINLOG,则预检通过。

图片3.png

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。

图片4.png

2.5 进行语句闪回

单击生成SQL按钮,即可生成SQL闪回任务。SQL闪回页面会展示当前实例运行的SQL闪回任务状态,等待任务完成,闪回语句生成成功即可。

 图片5.png

 

SQL闪回任务完成下载执行即可。

2.6 业务验证

数据库恢复完成后,QA 验证数据是否一致可用。

 


相关文章

谈谈K8S Pod Eviction 机制

Pod Eviction 简介Pod Eviction 是k8s一个特色功能,它在某些场景下应用,如节点NotReady、Node节点资源不足,把pod驱逐至其它Node节点。从发起模块的角度,pod...

数据湖技术之iceberg(十一)Flink与Iceberg整合-DataStream API

数据湖技术之iceberg(十一)Flink与Iceberg整合-DataStream API

1.实时写入Iceberg表DataStream Api方式操作Iceberg方式目前仅支持Java Api。使用DataStream API 实时写入Iceberg表具体操作如下:2、编写代码使用D...

trino组件对接alluxio(三)

trino组件对接alluxio(三)

本文是基于已经部署了trino和alluxio的基础上,进行的trino与alluxio的组件对接,alluxio已经开启了高可用模式。安装部署1、增加alluxio配置在core-site.xml和...

MySQL运维实战之备份和恢复(8.4)xtrabackup恢复全量备份

恢复全量备份恢复全量备份大致可以分成以下几步:解压备份文件、prepare备份文件、将数据copy到目标实例相关目录、启动数据库实例。解压文件如果备份时使用了xbstream,需要先解压备份文件。我们...

Doris FE节点故障恢复

Doris FE节点故障恢复

FE故障恢复现象:FE由于元数据损坏导致无法启动            &nbs...

A集群导入B集群中的高可用版rancher

A集群导入B集群中的高可用版rancher

问题现象:已知在B集群中采用helm方式部署了一个高可用版本的rancher,该rancher中已经配置导入了三套集群,并且三套集群状态在rancher控制台处均显示正常,日常可借助该rancher管...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。