使用Oracle SQL Developer迁移MySQL至Oracle数据库

最近公司要求我将数据库中的数据从MySQL中迁移到Oracle,我看了网上的一些帖子,尝试了几遍,在错了五遍后终于成功了(撒花,放鞭炮!!!),有些感悟写在这里,并将具体流程详细的写在这里,跟大家一起交流,并附上我参考过的文章,若有侵权或其他问题,请留言,我会尽快修改

参考文章:
http://www.cnblogs.com/xusweeter/p/6512521.html
http://blog.****.net/u012814041/article/details/17530141
http://database.51cto.com/art/201704/536526.htm

本文章使用的软件版本信息:
Oracle SQL Developer 4.2.0.17.089
MySQL 5.7
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

正文:

第一步:创建一个用户,此用户是目标用户,比如这里我设置为bbbb用户名
个人认为作用是:用于建立新的用户进行连接;执行移植过程中的DDL语句;验证整个过程是不是成功。
注意,这里必须赋予用户DBA权限,否则数据库迁移后期可能会因为目标用户权限不足导致出错。

使用Oracle SQL Developer迁移MySQL至Oracle数据库

注意:这里我是用的是SYS系统用户连接Oracle数据库,也可以使用system系统用户,例:sytem/123456,这里不能使用普通用户登录,因为后面创建目标用户授权时需要系统权限。

这个bbbb用户将用于Oracle数据库的登录用户

第二步:创建Oracle数据库连接
操作流程
(1)点击绿色+选项
使用Oracle SQL Developer迁移MySQL至Oracle数据库

(2)进入新建/选择数据库连接界面
使用Oracle SQL Developer迁移MySQL至Oracle数据库

第三步:将mysql-connector-java jar包导入到SQLdeveloper中
操作步骤:工具 – 首选项 – 数据库 – 第三方 JDBC 驱动程序
使用Oracle SQL Developer迁移MySQL至Oracle数据库

第四步:创建MySQL数据库连接
操作流程
(1)点击绿色+选项
使用Oracle SQL Developer迁移MySQL至Oracle数据库

(2)进入新建/选择数据库连接界面
使用Oracle SQL Developer迁移MySQL至Oracle数据库

注:这里我需要从MySQL迁移到Oracle的数据库是test,详细信息如下:
使用Oracle SQL Developer迁移MySQL至Oracle数据库

使用Oracle SQL Developer迁移MySQL至Oracle数据库

第五步:关联移植资料档案库,具体操作如图(右键Oracle数据库)
使用Oracle SQL Developer迁移MySQL至Oracle数据库

结果如图:
使用Oracle SQL Developer迁移MySQL至Oracle数据库

到达这一步后,新建的bbbb用户登录的数据库中会出现新的表,如图:
若没有出现,可以点击 表 右键 刷新
使用Oracle SQL Developer迁移MySQL至Oracle数据库

使用Oracle SQL Developer迁移MySQL至Oracle数据库

第六步:开始将MySQL数据库中的数据移植到Oracle数据库中
具体操作流程:
(1)右键 MySQL数据库, 选择 移植到 Oracle… 选项
使用Oracle SQL Developer迁移MySQL至Oracle数据库

(2)这时候出现 移植向导
使用Oracle SQL Developer迁移MySQL至Oracle数据库

根据步骤 点击下一步

使用Oracle SQL Developer迁移MySQL至Oracle数据库

这里的连接 我的是 Oracle_migrter,如果你是按照我上述步骤来,你的这里应该是 Oracle
继续点击下一步

使用Oracle SQL Developer迁移MySQL至Oracle数据库

继续点击下一步

使用Oracle SQL Developer迁移MySQL至Oracle数据库

这里的连接 我的是MySQL_migrter,如果你是按照我上述步骤来,你的这里应该是 MySQL
继续点击下一步

使用Oracle SQL Developer迁移MySQL至Oracle数据库

这一步选择你需要迁移到Oracle 的数据库 ,若之前已经填写,这里将自动为你添加上,我这里是test数据库,继续点击下一步

使用Oracle SQL Developer迁移MySQL至Oracle数据库

这一步默认设置即可,点击下一步

使用Oracle SQL Developer迁移MySQL至Oracle数据库

还是默认设置,点击下一步

使用Oracle SQL Developer迁移MySQL至Oracle数据库

这一步,你要是按照我之前的步骤来,那你这里 连接 的是 Oracle,然后点击下一步

使用Oracle SQL Developer迁移MySQL至Oracle数据库

如图所示 ,你要是按照我之前的步骤来,那你这里 源是 MySQL ,目标是 Oracle,然后点击下一步

使用Oracle SQL Developer迁移MySQL至Oracle数据库

最后一步,点击完成,等待数据库移植

使用Oracle SQL Developer迁移MySQL至Oracle数据库

使用Oracle SQL Developer迁移MySQL至Oracle数据库

目前已经完成了数据库中表的转换。
然后再是数据库中的数据移植,看下图:
使用Oracle SQL Developer迁移MySQL至Oracle数据库

点击移动数据后,会将目标数据库中的数据转移到Oracle中,这样我们就可以在Oracle中看到数据库的表与数据了

到这里,数据库移植基本完成了,我们可以在Oracle数据库中查看迁移的数据库
具体操作:找到Oracle数据库,在其它用户中,双击表名(我的是CHECKS),在右边会出现列,数据。

使用Oracle SQL Developer迁移MySQL至Oracle数据库

使用Oracle SQL Developer迁移MySQL至Oracle数据库

使用Oracle SQL Developer迁移MySQL至Oracle数据库

使用Oracle SQL Developer迁移MySQL至Oracle数据库

使用Oracle SQL Developer迁移MySQL至Oracle数据库

显示的跟MySQL中test一样的数据,表明 迁移成功。

我遇到的问题:在移植向导,点击完成后,报错,信息如图所示,我初步估计是Oracle在安装过程中出现过错误,导致了这个问题,因为我在另一台电脑上使用相同版本,进行数据迁移时成功,若有大家看到我这个错误,有其他的想法,还请告知,在下感激不尽

使用Oracle SQL Developer迁移MySQL至Oracle数据库