DRDS SQL闪回介绍

广大1年前技术文章299

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 验证数据是否一致可用。

 


相关文章

Ldap高可用部署

Ldap配置高可用两个节点上均执行mkdir /data/ldapcd /data/ldap1.1. 添加mod_syncprov.ldif文件vi mod_syncprov.ldif 内容如下:ob...

python-序列化和反序列化

1、为什么要序列化内存中的字典、列表、集合以及各种对象,如何保存到一个文件中?如果是自己定义的类的实例,如何保存到一个文件中?如何从文件中读取数据,并让它们在内存中再次恢复成自己对应的类的实例?要设计...

手动模拟 flannel 的 vxlan 实现节点命名空间互通

手动模拟 flannel 的 vxlan 实现节点命名空间互通

在flannel网络插件中实现两个节点互通方式有host-gw vxlan ipip等方式,之前已经手动模拟过host-gw模式,此处再模拟一下vxlan模式点对点访问。手动实验两个命名空间通信Nod...

Redis Sentinel与Cluster安装部署(三)

4.3redis-cluster-resharding重新分配槽1、查看当前集群节点状态信息 # redis-cli --cluster check 172.32.1.59:7000 -a dt20...

PG的统计信息(三)

1.3 数据分布类统计信息1.3.1 pg_stats通过对pg_stats的查询,可以查看每个字段的数据分析统计信息,类似SQL Server的直方图,为优化器选择最佳执行计划提供依据,pg_sta...

MongoDB的索引(一)

一、TTL索引1、语法db.eventlog.createIndex( { "lastModifiedDate": 1 }, { expireAfterSeconds: 3600 } )2、TTL索引...

发表评论    

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