前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过Oracle来辅助MySQL数据问题的恢复(r5笔记第31天)

通过Oracle来辅助MySQL数据问题的恢复(r5笔记第31天)

作者头像
jeanron100
发布2018-03-15 17:53:53
6950
发布2018-03-15 17:53:53
举报

今天琢磨一个问题,在平时的工作中如果碰到一些不规范的操作,drop,truncate,delete,恢复起来还是很困难的,drop操作在oracle中如果开启了recycle bin还是基本安全的,delete操作可以借助flashback delete操作,可能有些更细微的操作update,insert等等操作导致了问题,需要做数据修复的时候,这个时候可以使用flashback query来辅助,如果来一个truncate,那就没辙了,其实在truncate操作完成后,一般来说数据还都是在数据文件里的,这个时候可以借助第三方的数据恢复工具来尝试恢复,这个时候数据恢复就不是毫秒级了,容忍度在分钟甚至小时都是没有办法的事情。 不过在oracle中,如果你之前开启了闪回数据库功能,那truncate的数据就能找回来了。但是话说过来,整个系统都让重启给弄停了,这个影响可能更大。如果不使用flashback database,直接通过dataguard来做时间点恢复或者其它的标准恢复到数据删除之前,也是一种方法。 所以说在oracle中对于数据的恢复方法很多,使用场景也可以根据需要来选择。 在MySQL中数据恢复可供选择的方案相对就比较少了。不过有一个亮点就是MySQL中的redo日志是可读的,mysqlbinlog可以很轻松地解析出来里面的内容。不过truncate,drop,一些DML失误操作场景来说,对于MySQL来说就比较困难了。 一旦发生了问题,做数据的恢复就只能借助于最近的备份了,需要相应的备份,然后在最近的备份基础上通过解析相关的binlog,直到把数据变更时间点的数据恢复。 这个过程总体来说还是需要不少的时间的,首先就是判断备份和binlog的时间点,可以在其它测试环境中完成,需要花费的时间应该不短。 我想了下面这个方案,把oracle和mysql结合起来,充分利用Oracle的强大的闪回功能,可能这种方案对于很多数据恢复都有不少的亮点。 还没有在本地测试,因为也需要一些额外的定制和数据类型映射,所以只是一个大概的思路。

首先还是保持MySQL原有的架构,一个主库,两个备库。因为主库中的binlog是做数据同步的关键,所以可以考虑设置一个路径做sql解析,sql解析还是使用binlog,然后再做适当的变更。这个过程可以是一个异步的过程,然后和Oracle结合起来部署到oracle中的schema中。 MySQL中的数据量相对来说还不是很大,所以可以考虑多个MySQL database和一个Oracle中的多个schema映射起来,数据类型可以适当做一些类型映射,比如,MySQL中的big int,small int等和oracle中的number直接映射。varchar和varchar2映射等等。 数据到位之后,就可以考虑通过各种闪回特性来做数据的恢复了。发生了truncate之类的操作可以使用flashback database来恢复,drop操作可以通过recycle bin,flashback database或者基于时间点等来恢复。delete可以通过闪回删除,闪回查询等来恢复。update可以通过闪回查询来恢复等等。得到了相应的技术局之后,可以直接导出csv文件,或者insert语句来。在MySQL中通过mysqlimport或者insert来完成数据的部署。 这个过程中可以使得MySQL端始终保持前行,可以打一个比方,比如一个部队在行军,结果突然某个军官发现自己的地图没带,落下半路上了,这个时候可以派一个士兵骑马去取地图。这个时候oracle就是那个士兵,能够完成这个艰巨的任务,部队依旧行进,不会产生其他影响。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档