DRDS SQL闪回介绍

广大2年前技术文章760

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性能优化(九)range和ref

MySQL性能优化(九)range和ref

有的时候,我们会遇到这样的情况:明明有索引,明明有更好的执行计划,但是优化器并没有选择这个最优的执行计划。优化器可能会选择并非最优的索引,可能选择并非最优的数据访问方式。下面是一个真实的例子:一个例子...

shell编程基础(二)

1、条件表达式1.1 文件判断常用文件测试操作符:-d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立-f文件,f的全拼为file 文件存在且为普通文件则为真,即测试表达式...

PostgreSQL 流复制

前言PostgreSQL 流复制(Streaming Replication)是 9.0 提供的一种新的 WAL 传递方法。使用流复制时,每当 Primary 节点 WAL 产生,就会马上传递到 St...

cattle-cluster-agent产生的僵尸进程处理

cattle-cluster-agent产生的僵尸进程处理

现象zabbix告警服务器存在僵尸进程排查步骤1、登陆服务器使用top命令,确认下僵尸进程数量。2、使用ps -aux | grep Z命令,过滤出僵尸进程PID。3、根据查到的PID,借助ps命令,...

MySQL性能优化(六)优化or条件

MySQL性能优化(六)优化or条件

优化器是数据库中非常核心,又非常复杂的一个组件。有的SQL,优化器选择的执行计划并不是最优的,通过改写SQL,可以帮助优化器找到最优的执行计划。where条件中的or子句,是比较容易出问题的一个场景。...

PostgreSQL 慢 SQL 排查

前言所谓 慢 SQL 是指在数据库中执行时间超过指定阈值的语句。慢查询太多,对于业务而言,是有很大风险的,可能随时都会因为某种原因而被触发,并且根据我们的经验,数据库最常出现的问题,都是因为慢查询导致...

发表评论    

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