切换到宽版
  • 650阅读
  • 0回复

异构数据源迁移-Oracle转MySQL实战 [复制链接]

上一主题 下一主题
离线zfc2020
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2021-08-12
背景:该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表







快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个