mysql 导入MIGRATION文件_MySQL Migration Toolkit将Oracle数据导入MySQL

本文详细介绍了如何使用MySQL Migration Toolkit将Oracle数据库的数据迁移到MySQL,包括安装工具、配置源和目标数据库、选择迁移对象、调整参数、手动编辑脚本以及解决大容量数据导入问题的步骤。
摘要由CSDN通过智能技术生成

1

安装MySQL Migration Toolkit先下载MySQL GUI Tools(其实就是一个MySQL管理工具),其中就包括MySQL Migration Toolkit工具,一路Next安装完毕。

2

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

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

6e3cc05d43a685f92daea0b1253d1c03.png

3

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

fc7377c0e9408b6d6721f0585f84a7a9.png

4

在Target Database中默认Database System为MySQL Server,在Connection Parameters中填写相应的MySQL数据库的连接信息,按“Next”继续,如下图所示:

89faf87656bbfd881e5f7256e88e3785.png

5

经过Connecting to Server测试通过后按“Next”,到Source Schemata Selection,点选准备进行数据迁移的数据库后按“Next”继续,如下图所示:

7d3909c391b15f107b43a340f940c7bb.png

6

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

eff93b56947fb846a792d7edcc6ac0be.png

7

在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”继续,如下图所示:

6e8fb25dbbecdf5ccf1b69f3f861bfcb.png

8

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

fbe78d34f518caa2e91045be937b570d.png

9

在Object Creation Options中,选择本地磁盘储存数据表结构,按“Next”继续,如下图所示:

938793490682d55de3bb9b0b20b2ff0e.png

10

经过Creating Objects创建所有表的结构完毕,表中并没有数据,按“Next”继续,如下图所示:

a04de7723633bc7de04a5fa97988fb28.png

11

一路“next”来到Data Mapping Options,选择本地磁盘储存数据表中的数据,按“Next”继续,如下图所示:

d67a2dbbe0c73b64e68f74328ee948f5.png

12

经过Bulk Data Transfer创建所有表中的数据完毕,按“Next”继续,如下图所示:

5d23c82323d7988804e60812f6e07160.png

13

来到summary显示此次数据转换的信息,可以保存成文件,按“Finish”完成,如下图所示:

d323b4d44996b3a8c61b6f1590c0cd1b.png

14

需要补充一点,在导大容量数据特别是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的数据了,当然这数值可以根据需要作调整。

15

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

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值