oracle数据库迁移到MySQL的方法总结

作者:oscar999 时间:2024-01-14 08:32:05 

前言

之前搭建了一个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 进行导入

http://www.navicat.com.cn

Navicat , 这是MySQL 官方网站上有人建议使用的工具。 这是一个收费的软件。 目前的收费是 1000 到1600 人民币。 但是可以免费试用一个月。

下载安装后, 启动的页面如下:

oracle数据库迁移到MySQL的方法总结

迁移的流程如下:

1. 新建数据库的连接

oracle数据库迁移到MySQL的方法总结

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

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

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

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

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

oracle数据库迁移到MySQL的方法总结

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

完成设置后, 重启 navicat

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

点击: 工具 --》 数据传输

oracle数据库迁移到MySQL的方法总结

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

oracle数据库迁移到MySQL的方法总结

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

oracle数据库迁移到MySQL的方法总结

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

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

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

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

oracle数据库迁移到MySQL的方法总结

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

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

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

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

下载安装,启动后会先要求输入 数据库连接的信息:

oracle数据库迁移到MySQL的方法总结

一直配置完成之后的页面是:

oracle数据库迁移到MySQL的方法总结

这里就只能看到table 了。

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

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

方式四: 使用工具intelligent-converters 的 oracle-to-mysql 进行导入

同样是一个收费的工具:

下载地址: http://www.intelligent-converters.com/oracle-to-mysql.htm

使用版的限制是每个table 只能导入 5 笔数据。

操作方式上和DbRemover 提供的很类似。好处是能记住上次的一些连接信息。

同样只能对表进行导入。

导入的页面:

oracle数据库迁移到MySQL的方法总结

来源:http://blog.csdn.net/oscar999/article/details/39022623

标签:oracle,数据库迁移,mysql
0
投稿

猜你喜欢

  • Python使用pandas和xlsxwriter读写xlsx文件的方法示例

    2022-05-14 00:35:25
  • 使用Python写一个量化股票提醒系统

    2022-04-19 14:35:42
  • ASP用户登录验证代码

    2008-05-15 12:49:00
  • 使用php语句将数据库*.sql文件导入数据库

    2023-11-23 05:11:22
  • js特殊字符过滤的示例代码

    2023-09-07 21:53:30
  • 超链“确认”对话框confirm

    2008-05-16 11:42:00
  • 基于wxpython开发的简单gui计算器实例

    2023-09-09 04:42:25
  • asp如何正确显示数据库里同时存在的GB码和BIG5编码?

    2010-06-28 18:26:00
  • pytest使用parametrize将参数化变量传递到fixture

    2022-03-28 23:30:18
  • asp函数解决SQL注入漏洞

    2008-10-12 19:53:00
  • 3个asp简单技巧

    2009-11-26 20:55:00
  • msxml3.dll 错误 ‘800c0005’解决方案

    2009-10-05 18:36:00
  • PyTorch搭建CNN实现风速预测

    2022-09-11 17:40:19
  • Python中如何实现MOOC扫码登录

    2021-10-08 14:24:50
  • WebSocket部署到服务器出现连接失败问题的分析与解决

    2023-08-15 22:43:21
  • Python爬虫爬取一个网页上的图片地址实例代码

    2021-07-25 09:58:25
  • python代码实现小程序登录流程时序总结

    2022-10-16 17:30:14
  • PyTorch开源图像分类工具箱MMClassification详解

    2023-11-21 02:20:06
  • MySQL 查询 并集、交集、差集方式

    2024-01-18 11:34:36
  • Python3实现的判断回文链表算法示例

    2021-04-10 05:53:25
  • asp之家 网络编程 m.aspxhome.com