数据库迁移之Mysql迁移Oracle
在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. 关联之后,,,之后的操作就不多说了,只要保证前边的操作不提示出错,后边是不会出现问题的,如果出现数据没被移植过来,那就再来一次,一般是会成功的。