加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 服务器 > 安全 > 正文

从Oracle迁移到MySQL的各种坑及自救方案

发布时间:2021-01-11 12:24:31 所属栏目:安全 来源:网络整理
导读:副标题#e# 《从Oracle迁移到MySQL的各种坑及自救方案》要点: 本文介绍了从Oracle迁移到MySQL的各种坑及自救方案,希望对您有用。如果有疑问,可以联系我们。 本文根据冯帅老师在〖4月8日DBAplus社群上海数据库技术沙龙〗现场演讲内容整理而成. 讲师介绍 冯

很快的,我们就弃用了这种操作,在这里要说明一下SQL LOAD的操作因为速度又快又不依赖其它组件,所以适用于数据类型并不复杂的单表操作,然后就写了python代码来接替它来完成数据迁移的操作,使用python的话其实也很简单,可以分为三步,第一步就是建立配置表,同时和MySQL的表进行mapping,标识出是全量的还是增量的,如果是增量的,以什么做为增量来处理.第二步就是根据mapping进行code、code、code,最后根据不同的入参写好crontab就可以进行调度就可以了.

使用python处理的过程中可以对一些数据进行转换,也更加灵活地配置了一些选项,实现了较强的逻辑控制,当然也有一些缺点:它的速度慢了太多(不过也只比load慢,比起来后面要介绍的Java编写的软件还是快很多).对于异常的处理也花费了大量的代码逻辑,同时也要会写代码.

我们可以简单来看一下它的实现:

这一个代码片断,显示了增量同步每一天的数据逻辑.

这是每天跑批之后生成的log,可以看出来把warning和error都列了出来,同时也对行数进行了统计.已经可以说是一个不错的小型产品了.可看出来6w条数据用了4s和load来比算是慢的,但是和Java之类的比算是快的了.

3、OGG

因为python开发的这一套东西虽然也不算太慢,但因为要自己用代码实现较强的逻辑,并且有些需求在Oracle的业务还没有完全下线之前要实时地同步到MySQL里来,所以我们又研究了一下OGG的做法.先提前说一下,OGG的应用场景就是那种要求实时并且可能需要回写数据的.

OGG的用法说起来很简单,只要配置好Oracle端,配置好MySQL端,然后对应的进程起起来就可以了.但用过OGG的人都知道配置一套OGG本身就很麻烦了,异构数据库之间再进行同步的话,调通并可用需要很久的配置时间,所以我大致说一下做法,除非真的有这种硬性需求,不然不推荐使用.

简单说一下用OGG的过程和注意事项:

1、 5.6版本需要12.1.2版本的OGG才支持

2、异构数据库之间不支持DDL复制

  • 从Oracle同步到MySQL,属于异构架构,不支持DDL同步,包括添加和删除字段,添加和删除索引,重命名表,表分析统计数据.
  • 若是涉及到源端和目标端DDL操作,需要进行源端和目标端同时手工操作.

3、必须要配置defgen,且文件必须放在相同的目录.

4、如果要是双向的话,就必须把MySQL端的binglog设置成row

binlog_format: This parameter sets the format of the logs. It must be set to the value of ROW,which directs the database to log DML statements in binary format. Any other log format (MIXED or STATEMENT) causes Extract to abend.

5、GoldenGate对MySQL只支持InnoDB引擎.所以,在创建MySQL端的表的时候,要指定表为InnoDB引擎.

create table MySQL (name char(10)) engine=innodb;

所有的帮助可以online help里去看

http://docs.Oracle.com/goldengate/c1221/gg-winux/GIMYS/system_requirements.htm#GIMYS122

4、MySQL Migration Toolkit

OGG是Oracle官方推荐的工具,使用原理就是基于日志的结构化数据复制,通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,那MySQL官方没有提供工具呢?答应是肯定的.

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读