oracle数据库迁移到MySQL的三种方法

本文主要总结了oracle数据库迁移到MySQL的方法,方法包括手动方式导入导出、使用工具Navicat 进行导入、使用工具DBMover 的OracleToMySQL 进行导入和使用工具intelligent-converters 的 oracle-to-mysql 进行导入,需要的朋友可以参考下。

之前搭建了一个ExtJS + spring + Oracle 的这样一个报表系统的框架。 因为其他部门的要求, 也需要这个Framework 进行一些特殊的定制。

但是有一个问题是 Oracle 的数据库是需要收费的, 个人使用倒没什么问题, 公司使用的话就会有侵权的问题了。
而MySQL 则是完全免费的。

所以使用 ExtJS + Spring + MySQL 这样的组合应该就没什么问题了。

理论上来说, MySQL 已经被Oracle 收购, 这两者之间的Migrate 应该比较容易, 但实际的迁移还是有一些问题, 以下就说一说一些实现的方式和问题。

方式一: 手动方式导入导出

手动的方式导入, 就是操作步骤会比较繁琐一些。

对Table 的结构和数据:

1、 使用 SQL Developer 把 oracle 的 table 的schema 和 Data(.sql 和 .xls) 导出

2、 使用 MySQL 的 WorkBench 创建 Table 和导入数据。

这里语法上会稍微有一些不同, 所以需要略微做一些调整。

对于View 来说, 特别是复杂的有子查询的Oracle View 说, 要导入到MySQL 看起来就不是那么容易了。

方式二: 使用工具Navicat 进行导入

1、 新建数据库的连接,建立需要迁移的Oracle 和 MySQL 的数据库连接。

另外, 建立Oracle 连接的时候还需要下载一个oci.dll 的文件。

下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

下载之后, 解压到某个目录:

在 Navicat 的 工具 –> 选项 下做类似如下设置:

细部可以参见:http://wiki.navicat.com/wiki/index.php/Instant_client_required

完成设置后, 重启 navicat

2、 设置过连接之后,接下来就可以进行表和数据的migrate了

点击: 工具 –》 数据传输

在 “常规” 的标签页中设置需要 migrate 的连接

在 “高级” 的标签页中 ,设置需要 migrate 哪些具体的内容:

配置完成之后,点 “开始” 就可以了。

基本上:对于Table的结构和数据的迁移的话,基本上没什么问题。

但是对于View的导入,因为MySQL的View的语法不能有子查询语句。

在Navite上,可以看到从Oracle导入到MySQL的时候,View 的Checkbox 不能选取。

方式三:使用工具DBMover的OracleToMySQL进行导入

DBMover这个网站也提供了Oracle到MySQL 迁移的工具。

下载地址是:http://dbmover.com/download/oracletomysql_cn.zip

这也是一个收费的软件,试用版的限制是:允许迁移的记录条数累计为10万条。

下载安装,启动后会先要求输入数据库连接的信息,一直配置完成之后这里就只能看到table 了。

和Navicat比较起来,感觉这个显得简单,只能migrate table,而且使用上也不是很方便。

下一次Migrate又得重头到尾输入一次,没办法记住之前配置的连接。

标签:MySQL 发布于:2019-11-16 04:43:44