DRDS SQL闪回介绍

广大2年前技术文章625

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

 


相关文章

MySQL运维实战(3.3) 管理数据库(database)

数据库使用create database语句创建数据库。创建数据库的账号需要有create权限。创建数据库用户拥有create权限才能创建数据库。-- 例子:创建dba用户,拥有创建数据库名...

Linux 文件锁

1、背景Linux 系统定时任务正在执行时,可能会遇到上个周期的任务还没有执行完,这样便会造成相同的任务同一时间有过个任务进程在执行。如果任务有对互斥资源操作时,有可能产生死锁。2、用法参考flock...

flume开启jmx加入grafana

部署flume_exporter需要go环境编译配置go环境首先下载go安装包Linux:https://golang.google.cn/dl/解压、添加环境变量tar -zxvf go*.tar....

MySQL 有意思的权限报错

前言今天遇到了一个报错,觉得挺有意思的,在此记录下。SELECT command denied to user 'xxx'@'xxx' for table 'xxx'1. 报错原因这里是研发提了一条修...

HBase基本架构

HBase基本架构

架构角色: (1)Master Master 是所有 RegionServer 的管理者,负责监控集群中所有的 RegionServer 实例。主要作用如下: 管理元数据表格 hbase:meta,接...

发表评论    

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