将oracle的数据导入到mysql的三种方法
一.Navicat Premium中的数据迁移工具

为了生产库释放部分资源,需要将API模块迁移到mysql中,及需要导数据。

尝试了oracle to mysql工具,迁移时报错不说,这么大的数据量,用这种简陋的工具不大可靠。

意外发现平时用的数据库视图工具Navicat Premium中有数据迁移工具,意外的好用。这个工具本身支持mysql,oracle,sqlLite,PostgreSql数据库,因此而也提供了在不同数据库之间迁移数据的功能。

迁移之前,先确保你建立了这两个数据库的connection。选择Tools/DataTransfer。

选择源数据库,选择你要迁的表,目标数据库。

选择周边。

迁移过程,左上角为进度。

二.使用MySQL Migration Toolkit快速将Oracle数据导入MySQL

使用MySQL Migration Toolkit快速将Oracle数据导入MySQL

上来先说点废话

本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoDB非关系型数据库,所以干脆一起研究一下,对比学习中找不同,首先说一下本人使用的数据库版本和可视化工具

Oracle10G—PL/SQL Developer9

MySQL5.5.29—MySQL Workbench6.0

MongoDB2.4.9(32bit最大2G)—Robomongo0.8.4

为了保持数据的一致,把现有Oracle中的一部分数据移植到MySQL中,百度之后发现MySQL Migration Toolkit不错,现将步骤写出跟大家分享

一、安装MySQL Migration Toolkit

先到http://dev.mysql.com/downloads/gui-tools/5.0.html下载MySQL GUI Tools(其实就是一个MySQL管理工具),其中就包括MySQL Migration Toolkit工具,一路next安装完毕

二、第一次运行需要加载ojdbc14.jar包

运行MySQL Migration Toolkit,一路“Next”到“Source Database”,在Database System中选择Oracle Database Server,如果第一次使用会告之要求加载驱动程序ojdbc14.jar,然后重新启动MySQL Migration Toolkit。

三、加载驱动程序之后,来到Source Database界面将变成如下的形式,在其中填写Oracle数据库的连接信息,按“Next”继续。

四、在Target Database中默认Database System为MySQL Server,在Connection Parameters中填写相应的MySQL数据库的连接信息,按“Next”继续。

五、经过Connecting to Server测试通过后按“Next”,到Source Schemata Selection,点选准备进行数据迁移的数据库后按“Next”继续。

六、经过Reverse Engineering测试通过后按“Next”,在Object Type Selection,点Detailed selection按钮,在下方左侧列表中选择不进行迁移的表,将其放入右侧列表后,即左侧列表剩余的表都将进行数据迁移。选择好之后按“Next”继续。

七、在Object Mapping的Migration of type Oracle Schema,如果要设置参数,点Set Parameter按钮。如果默认数据库表为UTF8的话,则选择Multilanguage;如果默认数据库表为GBK的话,则需要选择User defined,并在下方填写charset=gbk, collation=gbk_general_ci。

Migration of type Oracle Table中要设置参数点Set Parameter按钮。如果默认数据库表为UTF8的话,则选择Data consistency/multilanguage;如果默认数据库表为GBK的话,则需要选择User defined,并在下方填写addAutoincrement=yes, charset=gbk, collation=gbk_general_ci, engine=INNODB。选择好之后按“Next”继续。

八、经过Migration测试通过后,再到Manual Editing,在这里可以修改建表脚本。由于Oracle与MySQL之间语法规则的差异,通常需要对脚本的数据类型以及默认值进行调整,比如Oracle中通常会对Timestamp类型的数据设置默认值sysdate,但在MySQL中是不能识别的。在Filter中选择Show All Objects,然后在Migrated Objects中选择要修改脚本的表,再点击左下方的Advanced就可以进行脚本编辑了。修改完之后点击右侧Apply Changes按钮保存,按“Next”继续。

九、在Object Creation Options中,选择本地磁盘储存数据表结构,按“Next”继续。

十、经过Creating Objects创建所有表的结构完毕,表中并没有数据,按“Next”继续。

十一、一路“next”来到Data Mapping Options,选择本地磁盘储存数据表中的数据,按“Next”继续。

十二、经过Bulk Data Transfer创建所有表中的数据完毕,按“Next”继续。

十三、来到summary显示此次数据转换的信息,可以保存成文件,按“Finish”完成。

需要补充一点,在导大容量数据特别是CLOB数据时,可能会出现异常:“Packets larger than max_allowed_packet are not allowed”。这是由于MySQL数据库有一个系统参数max_allowed_packet,其默认值为1048576(1M),可以通过如下语句在数据库中查询其值:show VARIABLES like '%max_allowed_packet%';修改此参数的方法是在mysql文件夹找到my.ini文件,在my.ini文件[mysqld]中添加一行:max_allowed_packet=16777216

重启MySQL,这样将可以导入不大于16M的数据了,当然这数值可以根据需要作调整。

十四、使用MySQL Workbench导入数据

点击Data Import/Restore先导入一次表结构,再导入一次表数据,完成数据库迁移

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三. 先把oracle表中的数据另存在excel表中,再把excel表中数据导入到mysql中

这里要将oracle中表eventlogs的数据导入到mysql中。步骤如下:

1、在PL/SQL中用select * 搜索到eventlogs表的所有数据,然后右键点击"Copy to Excel";如下图所示:

2、将数据保存为excel表,并重名;如下图:

3、打开mysql的可视化工具,我这里是Navicat,选择表,点击导入向导;如下图所示:

4、选择上图中"导入类型"的"execel文件",然后点击"下一步";如下图所示:

5、接下来会让你选择文件,选择你已经保存的excel文件,并选择“SQL Result”,如下图所示:

6、然后一直点下一步直至步骤6,填充目标栏位。第一个栏位一般是空的,根据你的需要填。我这里填为"_id",并设为主键。如下图所示:

7、然后一直点击下一步,最后一步点击开始。会出现一个“sql result”的表,重命名为你想要的表即可。如图所示:

数据已经导入了。其中表中数据类型若不合你的要求,你可以再设计表。

将oracle的数据导入到mysql的三种方法相关推荐

  1. oracle 数据导入 mysql_将oracle的数据导入到mysql的三种方法

    为了生产库释放部分资源,需要将API模块迁移到MysqL中,及需要导数据. 尝试了oracle to MysqL工具,迁移时报错不说,这么大的数据量,用这种简陋的工具不大可靠. 意外发现平时用的数据库 ...

  2. java连接MySQL几种方法_Java连接MySQL数据库三种方法

    好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...

  3. Android数据存储和读取的三种方法

    Android数据存储和读取的三种方法 一.文件存储 二.Context存储 三.SharedPreferences存储 一.文件存储 1.利用文件进行数据的存储 public static bool ...

  4. mysql改存储引擎教程_MySQL中修改数据表存储引擎的三种方法

    第一种方法:ALTER TABLE 将表从一个引擎修改为另一个引擎最简单的办法是使用ALTER TABLE语句,转换表的存储引擎会导致失去原引擎相关的所有特性. 例:将mytable的引擎修改为Inn ...

  5. android手机如何到导出电话号码,手机通讯录怎么导入到新手机?三种方法,快速迁移!...

    手机通讯录怎么导入到新手机?相信很多换手机的朋友心里都会有这样的疑惑,怎么才能快速又正确的把通讯录恢复?其实很简单,今天就分享给大家几种常见的方法,帮助大家在换手机的时候把通讯录导入到新手机. 方法一 ...

  6. 四种数据类型转换字符串类型的 三种方法

    1.Number类型 2.Boolean类型 3.undefined类型 4.null类型 在JavaScript中如果想将以上的四种基本数据类型转换为字符串类型, 常用的方法有三种 1.对于Numb ...

  7. 处理数据中分类变量的三种方法(附代码实现)

    本文是将kaggle Courses中 Categorical Variables | Kaggle进行了翻译并且加入自己的理解,如有地方不清楚,可以查阅原文 文章目录 介绍 三种方法 1)删除分类变 ...

  8. eclipse导入jar包的三种方法

    我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3种Eclipse引入jar包的方式.   1.最常用的普通 ...

  9. Allegro文件导入SIwave仿真的三种方法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 方法1:Allegro -> ODB++ -> SIwave 方法2:Allegro -> EDB ...

  10. iPhone数据丢失怎么办?如何恢复iPhone数据?iPhone数据恢复的三种方法

    iPhone数据丢失怎么办?如何恢复iPhone数据?Joyoshare iPhone Data Recovery数据恢复软件拥有三种智能恢复模式,您可以轻松地从 iDevices 本身.iTunes ...

最新文章

  1. php字符串加密解密源码,PHP中加密解密字符串函数源代码
  2. 启示录 产品经理 pdf_3个月,从公司前台转行互联网产品经理
  3. goland 调试运行路径
  4. ubuntu安装百度云客户端
  5. C语言函数题- 删除字符串中下标为i的字符
  6. 剑指offer31-栈的压入、弹出序列
  7. mysql连接nacat_【mysql】使用Navicat连接数据库
  8. 简单的事情搞复杂:挂个版本到网站,拖了几个月还没做
  9. z-blogPHP在西部数码虚拟主机上遇到WTS-WAF错误拦截情况,协商好久他们还是妥协了...
  10. NCA9555/PCA9555代码 通用总线IO扩展器芯片驱动
  11. ElasticSearch Java 客户端连接ElasticSearch
  12. 【noi.ac】#283. 唐时月夜
  13. UVM学习笔记--sequence和sequencer
  14. Python--print(xx)内容为空,打印不出内容;原因是文件句柄对象在迭代后,对象内的数据会逐渐清空
  15. windows环境下用python PyFtdi控制ftdi芯片生成方波信号
  16. java打印标签(机型TOSHIBA条码打印机B-EX4T)
  17. 当今计算机科学发展趋势,探索计算机科学与技术的发展趋势
  18. 2017acl---Learning Cognitive Features from Gaze Data for Sentiment and Sarcasm Classification笔记
  19. vue2+elTree 实现右键菜单
  20. python基础实例教程 微课版-从零开始学Python(微课视频版)

热门文章

  1. python的ogr模块_Python与开源GIS:使用OGR模块打开矢量数据
  2. linux 常用图形库,在Linux下常用的3款Git图形客户端
  3. div在html中的好处,详解DIV+CSS布局的好处和意义
  4. 计算机网络传输介质中速率最快的是,通常传输速率最快的网络类型是()
  5. linux命令ftps,Linux下ftp+ssl实现ftps
  6. CMU 15-213 Introduction to Computer Systems学习笔记(21) Synchronization: Basic
  7. jq ajax渲染数据慢,Jquery Ajax 如何实现延时加载 。即很多网站上面的Loading。。。动态提时候,延时几秒,才显示出服务器的响应数据...
  8. Angr安装与使用之使用篇(一)
  9. 00_kubernetes组件版本和配置策略
  10. Linux Semaphore