首页 /  技术专区  /  Oracle 屏幕太窄?试试伸展一下吧 >

记录一次项目Oracle换Mysql迁库过程

公司项目之前一直用的的ORACLE的数据库,不知道是因为什么原因,现在要换成MYSQL的数据库,所以这个工作就交给了我,在这里我记录一下我迁库改项目的过程,希望有类似工作的朋友能避个雷,少踩几个坑。


# 第一种方法尝试(失败

刚开始我尝试了使用Navicat的数据传输功能,在Navicat工具栏,点击【工具】->【数据传输】。

image.png

打开了一个这样的窗口,选择两个数据库。

image.png

点击下一步,选择全部的表。

image.png

一直下一步就可以了,但是怎么可能这么顺利就完成了呢。

image.png

果然报错了。


第二种方法尝试(失败

紧接着,我又尝试了第二种方法,在Navicat中把Oracle数据库的代码保存转储成sql文件,然后用Power Designer转成Mysql的语句文件。

选择你想要改变的数据库表空间,右击选择【转储SQL文件...】->【结构 + 数据】。

image.png

打开Power Designer。

image.png

在Power Designer中点击【File】->【Reverse Engineer】->【Database...】。

image.png

在之后弹出的窗口中DBMS选择【ORACLE Version 11g】。

image.png

点击这里添加刚刚Navicat转储的sql文件。

image.png

等进度条结束,导入完是这个样子的。

image.png

之后点击【Database】->【Change Current DBMS...】

image.png

把数据库换成对应的Mysql数据库。

image.png

点击【确定】。

image.png

成功之后我们发现,数据字段的结构都发生了改变。

image.png

然后我们点击【Database】->【Generate Database...】生成新的适合Mysql的文件导出。

image.png

在弹出的窗口中,选择新sql文件要保存的路径和名称。

image.png

生成完,新的sql文件之后,把新的sql文件放到Navicat中的Mysql库中执行。

image.png

在弹出的窗口中选择,刚刚生成的新的sql文件。

image.png

点击【开始】,果然又报错了。

image.png


第三种方法尝试(成功

之后我又尝试了第三种比较笨的方法,效率也比较低,但是不会报错。

找到一张表的建表DDL语句,复制出来保存到.sql为后缀的文件,用方法二的方式放到Power Designer中进行转换。

image.png

成功修改后的建表语句生成了一张用户表,不过生成的用户表里面是没有数据的,因为我们只创建了表结构。

image.png

接下来我们,复制ORACLE数据库中的数据为insert语句之后,经过简单的修改,在Mysql数据库中执行。

image.png

选中全部语句,执行。

image.png

没有报错,一张表就这样迁移完成了,之后也这样慢慢操作吧,不过效率确实低。

image.png



0/200
图片验证码