2012年(366)
分类: 系统运维
2012-02-28 10:41:47
ORACLE10gr2数据导入MySQL方案
本次使用MySQL GUI Tools工具
1,下载“MySQL GUI Tools”,在官方网站;
本次安装的是WINDOWS版本。下载地址:http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-gui-tools-5.0-r17-win32.msi/from/pick
2,安装是选择MySQL Migration Toolkit。
3,安装完毕后,打开MySQL Migration Toolkit,如下图1;点“Next”,
图1.
5,直接选择“Direct Migration”,如图2,点“Next”,
图2.
6,在“Source Database Connection”中,“Database System”为“Oracle Database Server”;
“Driver”为“Oracle Thin JDBC Driver using SID”;
如果你没有安装JDBC驱动,需要在oracle官方网站()下载ojdbc14.jar;需要区分oracle当前版本。否则如图3所示;本次oracle版本10.2.0.1_x86_32。然后加载驱动ojdbc14.jar,在载完毕后需要重新连接“MySQL GUI Tools”。
图3.
7,重新连接“MySQL GUI Tools”后,继续这一步;填写源oracle数据库信息如图4,点“Next”,
图4.
8,填写目标数据mysql信息,如图5,点“Next”,
图5.
9,如果源数据库和目标数据库连接信息无误,会显示“Execution completed successfully”,点“Advanced”会显示详细的信息;如图6,点“Next”,
图6.
10选择Schemata,也可以用“ctrl”或则“shift”选择你需要的多个schemata,如图7,点“Next”,
图7.
11,实现数据转化,如图8,点“Next”,
图8.
12,如图9所示,选择需要迁移的表。默认选择schemata下所有的表。点“Detailed selection”,如图10所示,移除不需要的表,点“Next”,
图9.
图10.
13,通过“set parameter”设置“object mapping”的参数,如图11,点“Next”,
图11.
14,对象被执行迁移,如图12,点“Next”,
图12.
13,后面的基本上就是点“Next”,直到完成,在图13,出现一个错误:
错误提示:
Packet for query is too large (1767187 > 1048576).
You can change this value on the server by setting the max_allowed_packet' variable.
由于oracle表中用了varchar2(4000),表中连续4个字段都是varchar2(4000),大于mysql5系统默认值“max_allowed_packet=1048576”,
解决方式:
在mysql配置文件,(linux)vim /etc/my.cnf添加:
[mysqld]
max_allowed_packet=16777216
至于其他系统,找mysql启动配置文件,添加即可。
图13.