• 1阅读
  • 0回复

异构数据源迁移-Oracle转MySQL实战

在线 zfc2020
级别: 新手上路
楼主   发表于: 2021-08-12 , 来自: From:中国
背景:该Oracle数据库数据量级较为庞大,其中日志表单表数据800万+,部分d_file表和e_file表单表数据500+,由于是异构数据迁移,尝试了很多工具都不理想,navicat存在大小写敏感和索引创建问题,RazorSQL工具对于大表转换效率非常慢,使用dm迁移工具为较好选择,转换速度快,触发器、存储过程中除有严重语法结构差异之外的都可以转移。


工具:下载安装达梦7  下载地址  https://eco.dameng.com/download/
使用达梦自带的迁移工具


1.TextField是不支持建立索引的
2.MySQL对索引字段长度有限制
innodb引擎的每个索引列长度限制为767字节(bytes),所有组成索引列的长度和不能大于3072字节
varchar的最大长度是指字符长度,若数据库字符集为utf-8,则一个字符占3个bytes。因此在utf-8字符集下,innodb引擎创建的单列索引长度不能超过255个字符

解决方式:MySQL5.5以上版本,开启innodb_large_prefix可以使单索引的长度限制达到3072字节(但是联合索引总长度限制还是3072字节),在MySQL5.7及以上版本则默认开启,在MySQL8.0版本中,innodb_large_prefix已被移除


使用达梦自带的迁移工具,右键新建迁移

分别创建一个由Oracledm,和dmMySQL的迁移任务,来完成OracleMySQL的目的。




一、Oracle将数据转移至dm数据库
配置Oracle连接作为数据源,下一步


配置达梦连接连接作为目的表,下一步

勾选指定Oracle表空间secame,下一步


勾选需要迁移的表,下一步


这一步是显示需要执行的任务,下一步,开始转换


二、将达梦数据转移至MySQL

将达梦作为数据源

目的表为MySQL数据库

选择刚刚迁移过来的thams对象,选择表,点击完成开始迁移。

最后,迁移成功后 删除act_xx_properties表







发帖 回复
« 返回列表
描述
快速回复
如果您在写长篇帖子又不马上发表,建议存为草稿