,点击上方"蓝字"
关注我们,享更多干货!
1.表结构改造
数据类型映射关系
字段映射关系请参考:
https://blog.csdn.net/weixin_34128839/article/details/91644197
表结构改造
1.工具
使用Navicat Premium 工具进行转换。
2.配置MySQL和Oracle连接
Connection(MySQL/Oracle)
3.MySQL连接配置
4.Oracle连接配置
5.配置完成后如下图
6.ToolsData Transfer
7.源端和目标端数据库
Genral栏中选择源端数据库为Oracle(192.168.56.226_oracle),schema为需要转换的表用户。
目标端使用file文件,用于保存转换好的MySQL脚本,数据库版本为MySQL5.7(可以根据实际环境选择)。Options栏中只选择Create tables和Continue on error
8.选择表以后开始进行转换
注意以上的转换方式,会导致某些表的字段类型改变,比如oracle varchar(2000)转换成MySQL后可能会变成text。
由于工具转换会出现字段类型的变化,需要进行二次加工修改,因此参考数据类型关系映射。使用脚本进行批量转换。
脚本如下:
该脚本转换只针对常用字段和索引进行转换,Oracle的常用字段NUMBER、DATE、CLOB、BLOB、XMLTYPE、CHAR、FLOAT、TIMESTAMP、VARCHAR2、NVARCHAR2。
2.数据迁移
数据迁移的前提是表结构改造完成,并已经在MySQL中创建。Oracle数据迁移到MySQL采用三步走的策略:Oracle到MySQL的全量同步;Oracle到MySQL的增量同步;MySQL到Oracle的增量同步。其中MySQL到Oracle的增量同步主要是为了保证:一旦出现紧急状况,业务能够很快的切换到原来的Oracle数据库中。
备选工具
Oracle GoldenGate
能够很好的支持Oracle和MySQL之间的全量、增量同步。可以记录数据同步期间成功的条数、异常的个数。由于OGG是直接抽取日志,然后在目标端应用。优点为实时性好、无需考虑两端增删改操作;缺点就是配置复杂。
Navicat Premium
图形化工具,操作简单、学习成本低、上手很快。能够很好的支持Oracle到MySQL的初始化全量同步数据,并详细的记录同步日志信息。但是不支持Oracle和MySQL之间的增量同步。
Kettle Etl