Mysql迁移到Oracle

最近换了一家公司,第一天上班第一个任务就是做数据迁移,要求将Mysql数据库迁移到Oracle,一共22张表。我记得之前用Navicat做过这个,但尝试之后发现只能从Oracle迁移到Mysql,尝试了很多次都无法成功,也许有方法,但是我没有找到。于是狂搜数据迁移转换工具,但都以报错告终。曾一度想收手动转换(需要一个关键字一个关键字的改sql脚本)。就在快要放弃的时候,一个工具拯救了我,那就是Convert Mysql to Oracle。

1.下载工具

百度网盘:https://pan.baidu.com/s/1C_dxkFoGh-tJd_TIPz740A 密码:cwd9

2.连接Mysql

3.连接Oracle


点击next

第一次使用都会报这个错,这是把安装Oracle时安装的instantclient12_1(比如楼主的:D:….\instantclient_12_1)下找dll结尾的文件,然后拷贝到Convert Mysql to Oracle的安装目录下退出重新打开此工具就可以了。

4.点击next

5.点击next

6.点击Next,转换成功

注意:如果时远程的Oracle只要把tnsnames.ora里面的实例改成你要连接的实例就好了

以上转载自 https://blog.csdn.net/yunshui110/article/details/80039113

软件下载http://www.downcc.com/soft/12882.html

在Mysql中,数据库和用户之间的关系不是特别明显,只要我们链接到Mysql服务器,可以看到所有的数据库和表,而Oracle新建一个是没有任何资源和权限的,需要我们为其分配资源权限,也可以在这个用户下面建立表,但貌似不能建数据库,对Oracle的理解甚浅,就不多说了。。。,简单的来说就是oracle的每一个用户对应Mysql的一个数据库。

    经过这几天的摸索,非手动写SQL移植的方法有两种,对于表结构很庞大的数据库无非就是个噩梦,所以要选择专业的可靠的移植方式:

    最简单的傻瓜式的移植方法是通过一个工具Convert Mysql to Oracle,链接:http://dbmover.com/cn/mysqltooracle/

一键解决问题,就不多说了,最后的效果是MySql中的一个数据库对应Oracle的一个同名的用户,该用户下的表和MySql中的数据库的表是一样的,移植过程可选只移植表结构还是包含数据,但如果这个能移植的很好,我就不用再浪费好几天来找更好的方法了,出现的问题就是有些索引的名字是会发生变化的,还有Oracle的一个限制,就是表名或者其他的名字的长度不能超过30个字符,但我的MySql中存在这样的表明,哎,没办法,只能改表名,除了这些问题,这个工具还是很不错的。

    另外一种方法就是通过Oracle官方的一个工具Sql Developer,http://www.oracle.com/technetwork/cn/developer-tools/sql-developer/downloads/index.html?ssSourceSiteId=otnen  官方的工具,用着就是放心,但下载了最新版的却老是出错,哎,不得不尝试了旧版的最后成功了,成功移植的版本是sqldeveloper-4.0.0.12.84-no-jre,操作步骤:

    1. 下载MySql connector,http://dev.mysql.com/downloads/connector/j/ 

    2. 打开Sql Developer,配置mysql连接插件,打开过程可能会要求制定JDK目录,指定就能打开

               

        

        添加好驱动我们就开始连接数据库移植。

    3. 添加两个连接,一个是MySql的,一个是Oracle的:

        

     4. 鼠标右键Oracle连接:

        

        一般的操作是先删除,再关联,如果关联不成功移植也是不会成功的,但一般情况下遮了老是不成功,所以我就换工具版本,最终就是上面说的那个了,建议大家也用那个版本的,少走弯路。

    5. 关联之后,,,之后的操作就不多说了,只要保证前边的操作不提示出错,后边是不会出现问题的,如果出现数据没被移植过来,那就再来一次,一般是会成功的。

OK,就到这了,希望能给大家提供到一些帮助。

以上转载自数据库迁移之Mysql迁移Oracle

猜你喜欢

转载自blog.csdn.net/yjaspire/article/details/82888586