Oracle数据导入Mysql中

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

一.Navicat Premium中的数据迁移工具

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

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

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

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

选择源数据库,选择你要迁的表,目标数据库。
<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20141101/2014110109051329.png" alt="\">

选择周边。

\

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

 

-----------------------------------------------------------------------------------------------------------------------

二.使用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”的表,重命名为你想要的表即可。如图所示:

 

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

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

四.使用工具OracleToMysql

五,手动导入Navicat

这可能是最蠢最低效的办法,但也是最靠谱的办法。在以上3中方法都不适用的前提下,一张一张表自己在navicat for mysql里建。或者,从oracle里导出的.sql文件不能在navicat里运行sql文件来导入,因为里面有些字段属性不适用于mysql,oracle与mysql语法和字段属性还是有区别的,所以要把创建表sql语句一一修改后,再在navicat里运行来创建表。

 

转载:http://blog.csdn.net/superit401/article/details/51547745

Oracle 数据如何迁移到MySQL 图文详细教程 先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。点击工具选择数据传输,注意;如果是从OracleMySQL,就选中Oracle库,然后在使用数据传输,这个是传输和被传输的关系。... 阅读详情

相关推荐

记一次oracle数据库迁移至mysql数据库(表同步)

记一次oracle数据库迁移至mysql数据库(表同步)

心寒的博客 6786

Oracle数据导入MySQL的几种方法

数据迁移和集成过程中,经常需要将数据从一个数据库系统(如Oracle导入到另一个数据库系统(如MySQL)。以上是几种常用的方法,用于将Oracle数据导入MySQL数据库中。另一种常见的方法是使用编程语言(如Java、Python等)和相应的数据库API来实现数据导入操作。编写Python脚本来连接Oracle数据库和MySQL数据库,并执行数据导入操作。在ETL工具中创建一个转换任务,从Oracle数据库读取数据,并将数据写入MySQL数据库。a. 配置源连接:指定Oracle数据库的连接信息。

ThDebug的博客 4410

Foxpro、excel文件批量导入数据MysqlOracle

CSDN论坛里时不时有朋友问起怎么把xls、dbf文件导入远程MySQLOracle数据库,想当年我也为这个问题忙活了好一阵。如果十几、二十个文件,手工搞掂也就算了,上百个文件、二三十G,那怎么可能!免不了琢磨着搞个程序来做导入。因为熟悉VFP,而且后面的工作还要用到VFP,所以整个程序就用VFP编了。要点如下:一、SQL数据库插入数据的标准办法是InsertInsert In

工作、学习笔记 7002

如何将数据Oracle 迁移到 MySQL:分步指南

在本文中,我们将探讨如何使用dbForge Studio for MySQL和Devart ODBC driver for Oracle数据Oracle 迁移到 MySQL 表。

励志做最业余的专业博主,控件产品可以私我~ 1万+

oracle数据导入mysql的三种方法

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

积累点滴,保持自我 6009

大量mysql导入oracle_OracleMySQL数据导入为何差别这么大

经常会有一些朋友咨询我一些数据库的问题,我注意到一个很有意思的现象,凡是数据导入的问题,基本上都是Oracle类的,MySQL类的问题脑子里想了下竟然一次都没有。我禁不住开始思考这个未曾注意的问题:为什么Oracle导入数据会碰到很多的问题?我们来梳理一下这个问题,分别从导出导入的方式来聊聊。首先Oracle导出的文件格式就没打算让你拿来即用,导出文件叫做dump,换句话说可以理解这是一个二进制文...

weixin_34599904的博客 157

如何将mysql导入oracle_如何将MySql数据导入Oracle

2015-03-09 回答用sqlldr从mysql导出一个表的数据oracle中:操作步骤:1、进入mysqlmysql> select uuid, cyc_code, b03_05, b03_06, b03_07, b03_08, b03_09, b03_10, b03_11, b03_12, cate_item_code, product_name, product_unitfrom...

weixin_42509931的博客 798

shell定时导入mysql数据oracle

1,业务场景 A系统负责开单,使用mysql数据库,B系统需要开单数据,使用oracle 2,实现思路 开单数据不可能来一条转移一条,只能定时任务复制一个时间段的数据 考虑业务上的故障可能需要补数,脚本分为两个sh,一个跑定时任务,每5分钟传入时间段给另一个脚本执行复制 先由A系统编写录单信息sql,联合查询出B系统需要的信息,从mysql导出文件,再通过ctl文件用sqlldr导入B系统orac...

占星安啦的博客 2073

Oracle数据库连接MySQL数据库,并且导入mysql

以前一直在使用MYSQL数据库,最近由于工作原因改用Oracle数据库,版本12c。虽然改用了oracle但是原来mysql数据库中的数据还是需要继续使用,这就需要把mysql中的数据导入oracle中。 1.Oracle连接MYSQL数据库 1&amp;amp;gt;. 假设你的电脑中已经安装了oracle数据库的客户端,还需要一个第三方的驱动mysql-connector-java-5.0.4 来连接mys...

wb175208的专栏 7880

shell向Oracle导入数据有sqlldr,向mysql怎么导入呢?

如题,sqlldr不多赘述。 平时都是向Oracle数据,突然想到如果是mysql呢?有没有类似sqlldr的插件呢? 我没找到插件,只是mysql操作比较简单,直接在命令行,导入文件就可以了。 mysql -uusername -ppasswd -e "command;command"     参考资料: 1、shell操作mysql http://blog.csdn.net

JkunZhang的专栏 3455

OracleMySQL之间的数据导入和导出

将上述命令中的"username"替换为您的MySQL数据库的实际用户名,"database_name"替换为要导出数据数据库的名称,"table_name"替换为要导出的表名。将上述命令中的"username"替换为您的MySQL数据库的实际用户名,"database_name"替换为要导入数据的目标数据库的名称,"export_file.dmp"替换为从Oracle导出的实际文件名。执行上述命令后,Oracle将读取导出文件中的数据,并将其导入到指定的数据库中。

MwgmPhilosophy的博客 390

oracle数据定时导入mysql_定期将Oracle数据导入MySQL

部分项目需求,需要将Oracle中单表的数据定期导入MySQL,注意此处对数据的时效性要求不高。要求高可以利用goldengate首先,需要将visit表中的vid,userid,goodid,time4个字段导出来MYDB=visit #MySQL数据库名MYUSER=vis_my_user #MySQL用户名MYPASS=is_my_pass #MySQL密码ORA_NAME=vis...

weixin_42525387的博客 633

OracleMySQL数据导入,差别为什么这么大

这是学习笔记的第2182篇文章读完需要7分钟速读仅需4分钟经常会有一些朋友咨询我一些数据库的问题,我注意到一个很有意思的现象,凡是数据导入的问题,基本上都是Oracle类的,MySQ...

杨建荣的学习笔记 455

oracle 数据导入 mysql_将Oracle数据导入MySQL的方法

我们可以使用MySQL Migration Toolkit快速将Oracle数据导入MySQL。近来笔者有项目需要将原有的Oracle数据库中的数据导入MySQL中,经过试用发现MySQL GUI Tools中的MySQL Migration Toolkit可以非常方便快捷的将Oracle数据导到MySQL中,特别是对CLOB、BLOB类型的数据也有非常好的支持。下面我们来学习MySQL Mig...

weixin_32557421的博客 1048

Mysql数据导入导出,Oracle数据导入导出及Mysql数据导入Oracle中[回钦波]

  Mysql数据导入Oracle中方法 总有网友问我数据库方面的知识,今天我介绍下数据库的导入导出。   第一. Mysql方面   首先要将xx.sql文件导入mysql.推荐大家使用Navicat Lite for MySQL工具。可以自己创建一个用户如:aaa       一定要选中里面的表 右键选择 运行批次任务文件           然后选择...

huiqinbo的专栏 216

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

为了生产库释放部分资源,需要将API模块迁移到MysqL中,及需要导数据。尝试了oracle to MysqL工具,迁移时报错不说,这么大的数据量,用这种简陋的工具不大可靠。意外发现平时用的数据库视图工具Navicat Premium中有数据迁移工具,意外的好用。这个工具本身支持MysqLoracle,sqlLite,Postgresql数据库,因此而也提供了在不同数据库之间迁移数据的功能。迁移...

weixin_35999303的博客 3267

cvs数据导入工具 oracle_OracleMySQL数据导入,差别为什么这么大

经常会有一些朋友咨询我一些数据库的问题,我注意到一个很有意思的现象,凡是数据导入的问题,基本上都是Oracle类的,MySQL类的问题脑子里想了下竟然一次都没有。我禁不住开始思考这个未曾注意的问题:为什么Oracle导入数据会碰到很多的问题?我们来梳理一下这个问题,分别从导出导入的方式来聊聊。首先Oracle导出的文件格式就没打算让你拿来即用,导出文件叫做dump,换句话说可以理解这是一个二进制文...

weixin_39530269的博客 109

dbeaver怎么导入sql文件_OracleMySQL数据导入,差别为什么这么大

经常会有一些朋友咨询我一些数据库的问题,我注意到一个很有意思的现象,凡是数据导入的问题,基本上都是Oracle类的,MySQL类的问题脑子里想了下竟然一次都没有。我禁不住开始思考这个未曾注意的问题:为什么Oracle导入数据会碰到很多的问题?我们来梳理一下这个问题,分别从导出导入的方式来聊聊。首先Oracle导出的文件格式就没打算让你拿来即用,导出文件叫做dump,换句话说可以理解这是一个二进制文...

weixin_39632212的博客 8674

利用Navicat Premium将oracle数据导入mysql

一.Navicat Premium中的数据迁移工具为了生产库释放部分资源,需要将API模块迁移到mysql中,及需要导数据。尝试了oracle to mysql工具,迁移时报错不说,这么大的数据量,用这种简陋的工具不大可靠。意外发现平时用的数据库视图工具Navicat Premium中有数据迁移工具,意外的好用。这个工具本身支持mysqloracle,sqlLite,PostgreSql数据库,...

周大侠的博客 7025
上一篇: 操作MySQL出错提示“BLOB/TEXT column used in key specification without a key length”解决办法
下一篇: 用kettle实现数据库迁移之oracle到mysql
qq_34412985
博客等级 码龄10年 142粉丝 983原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值