Oracle数据导入MySQL

转载 2013年12月02日 17:57:57

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

 

近来笔者有项目需要将原有的Oracle数据库中的数据导入到MySQL中,经过试用发现MySQL GUI Tools中的MySQL Migration Toolkit可以非常方便快捷的将Oracle数据导到MySQL中,特别是对CLOBBLOB类型的数据也有非常好的支持。下面笔者来介绍一下MySQL Migration Toolkit的使用,该软件可以在http://dev.mysql.com/downloads/gui-tools/5.0.html处下载到。

 

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

 

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

 

 

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

 

 

    3、进行数据库连接测试,测试通过后按“Next”到Source Schemata Selection,点选准备进行数据迁移的Schemata后按“Next”继续。

 

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

 

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

 

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

 

7、然后一路“Next”,如果没有提示出错的话,就可以将指定表中的数据导入MySQL了。如果有提示出错信息,则需要返回到Manual Editing处对脚本重新进行修改。

 

需要补充一点,在导大容量数据特别是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数据导入ORACLE

今天接到一个任务,让我把MySQL中的表与数据移植到Oracle中(也就是我们的项目需要使用Oracle),本来打算一个表一个表的改的(很傻很天 真),结果发现,光sql语句就有40多兆!从网上找了好...
  • zhang8907xiaoyue
  • zhang8907xiaoyue
  • 2017年10月25日 13:42
  • 500

oracle数据导入mysql的一种笨办法

想把oracle表中的数据导入到mysql中,上网找了下,自己也试了,结果就这种笨办法蛮实用的。      先把oracle表中的数据另存在excel表中,再把excel表中数据导入到mysql中。...
  • wushiyilou
  • wushiyilou
  • 2012年04月23日 10:38
  • 8476

将oracle的数据导入到mysql的四种方法

一.Navicat Premium中的数据迁移工具 为了生产库释放部分资源,需要将API模块迁移到mysql中,及需要导数据。 尝试了oracle to mysql工具,迁移时报错不说,这么大的...
  • superit401
  • superit401
  • 2016年05月31日 17:55
  • 28359

将MySQL数据迁移到Redis

做开发的同学都知道,一旦设计到底层存储优化,数据结构甚至数据库的变更,通常都会进行数据迁移的工作。如果系统运行时间过长,数据迁移的数量可能非常庞大。这时候,如何进行高效的数据迁移,实际也是上线质量的直...
  • orion61
  • orion61
  • 2015年04月10日 09:53
  • 3239

Java实现Oracle数据库导入

Java实现Oracle数据库导入
  • wangshuxuncom
  • wangshuxuncom
  • 2014年08月11日 16:24
  • 3429

用sqlldr从mysql导出一个表的数据到oracle

用sqlldr从mysql导出一个表的数据到oracle代码:---------------------------------------------------------------------...
  • l1t
  • l1t
  • 2006年04月05日 09:23
  • 6671

sqoop 导出mysql,oracle

sqoop  mysql 导入,导出 1. 安装(前提hadoop启动) [hadoop@h91 ~]$ tar -zxvf sqoop-1.3.0-cdh3u5.tar.gz  [hadoop@...
  • wxf912519176
  • wxf912519176
  • 2017年05月31日 17:14
  • 227

mycat 平台上实现将数据从oracle迁移到mysql

1,案例场景:Mycat 后面接一个Oracle实例与一个MySQL实例,假设用户表,订单表,转账记录表,Oracle字符集为GBK的,MySQL字符集则要求UTF8的完成用户表与订单表到MySQL的...
  • mchdba
  • mchdba
  • 2016年03月28日 00:57
  • 4664

Oracle数据导入MySQL

 ## Oracle 数据导入到 Mysql ##                             __________________________________________    ...
  • xueyepiaoling
  • xueyepiaoling
  • 2009年12月28日 15:33
  • 5054

通过Sqoop工具将Oracle数据导入到HBase

通过Sqoop工具可以将关系型数据库Oracle的数据导入HBase中,具体的操作步骤如下: 1、在HBase中创建一个表,表名称为ecard,表的列簇为ic_info, 2、写Sqoop命令来导入数...
  • u012630060
  • u012630060
  • 2017年05月31日 10:25
  • 137
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle数据导入MySQL
举报原因:
原因补充:

(最多只允许输入30个字)