最近公司要求我将数据库中的数据从MySQL中迁移到Oracle,我看了网上的一些帖子,尝试了几遍,在错了五遍后终于成功了(撒花,放鞭炮!!!),有些感悟写在这里,并将具体流程详细的写在这里,跟大家一起交流,并附上我参考过的文章,若有侵权或其他问题,请留言,我会尽快修改
参考文章:
①http://www.cnblogs.com/xusweeter/p/6512521.html
②http://blog.csdn.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权限,否则数据库迁移后期可能会因为目标用户权限不足导致出错。
注意:这里我是用的是SYS系统用户连接Oracle数据库,也可以使用system系统用户,例:sytem/123456,这里不能使用普通用户登录,因为后面创建目标用户授权时需要系统权限。
这个bbbb用户将用于Oracle数据库的登录用户
第二步:创建Oracle数据库连接
操作流程
(1)点击绿色+选项
(2)进入新建/选择数据库连接界面
第三步:将mysql-connector-java jar包导入到SQLdeveloper中
操作步骤:工具 – 首选项 – 数据库 – 第三方 JDBC 驱动程序
第四步:创建MySQL数据库连接
操作流程
(1)点击绿色+选项
(2)进入新建/选择数据库连接界面
注:这里我需要从MySQL迁移到Oracle的数据库是test,详细信息如下:
第五步:关联移植资料档案库,具体操作如图(右键Oracle数据库)
结果如图:
到达这一步后,新建的bbbb用户登录的数据库中会出现新的表,如图:
若没有出现,可以点击 表 右键 刷新
第六步:开始将MySQL数据库中的数据移植到Oracle数据库中
具体操作流程:
(1)右键 MySQL数据库, 选择 移植到 Oracle… 选项
(2)这时候出现 移植向导
根据步骤 点击下一步
这里的连接 我的是 Oracle_migrter,如果你是按照我上述步骤来,你的这里应该是 Oracle
继续点击下一步
继续点击下一步
这里的连接 我的是MySQL_migrter,如果你是按照我上述步骤来,你的这里应该是 MySQL
继续点击下一步
这一步选择你需要迁移到Oracle 的数据库 ,若之前已经填写,这里将自动为你添加上,我这里是test数据库,继续点击下一步
这一步默认设置即可,点击下一步
还是默认设置,点击下一步
这一步,你要是按照我之前的步骤来,那你这里 连接 的是 Oracle,然后点击下一步
如图所示 ,你要是按照我之前的步骤来,那你这里 源是 MySQL ,目标是 Oracle,然后点击下一步
最后一步,点击完成,等待数据库移植
目前已经完成了数据库中表的转换。
然后再是数据库中的数据移植,看下图:
点击移动数据后,会将目标数据库中的数据转移到Oracle中,这样我们就可以在Oracle中看到数据库的表与数据了
到这里,数据库移植基本完成了,我们可以在Oracle数据库中查看迁移的数据库
具体操作:找到Oracle数据库,在其它用户中,双击表名(我的是CHECKS),在右边会出现列,数据。
显示的跟MySQL中test一样的数据,表明 迁移成功。
我遇到的问题:在移植向导,点击完成后,报错,信息如图所示,我初步估计是Oracle在安装过程中出现过错误,导致了这个问题,因为我在另一台电脑上使用相同版本,进行数据迁移时成功,若有大家看到我这个错误,有其他的想法,还请告知,在下感激不尽