1.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,1路“Next”到“Source Database”,在Database System当选择Oracle Database Server,如果第1次使用会告之要求加载驱动程序ojdbc14.jar,然后重新启动MySQL Migration Toolkit。
3、加载驱动程序以后,来到Source Database界面将变成以下的情势,在其中填写Oracle数据库的连接信息,按“Next”继续。
4、在Target Database中默许Database System为MySQL Server,在Connection Parameters中填写相应的MySQL数据库的连接信息,按“Next”继续。
5、经过Connecting to Server测试通过后按“Next”,到Source Schemata Selection,点选准备进行数据迁移的数据库后按“Next”继续。
6、经过Reverse Engineering测试通过后按“Next”,在Object Type Selection,点Detailed selection按钮,在下方左边列表当选择不进行迁移的表,将其放入右边列表后,即左边列表剩余的表都将进行数据迁移。选择好以后按“Next”继续。
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”继续。
8、经过Migration测试通过后,再到Manual Editing,在这里可以修改建表脚本。由于Oracle与MySQL之间语法规则的差异,通常需要对脚本的数据类型和默许值进行调剂,比如Oracle中通常会对Timestamp类型的数据设置默许值sysdate,但在MySQL中是不能辨认的。在Filter当选择Show All Objects,然后在Migrated Objects当选择要修改脚本的表,再点击左下方的Advanced就能够进行脚本编辑了。修改完以后点击右边Apply Changes按钮保存,按“Next”继续。
9、在Object Creation Options中,选择本地磁盘贮存数据表结构,按“Next”继续。
10、经过Creating Objects创建所有表的结构终了,表中并没有数据,按“Next”继续。
101、1路“next”来到Data Mapping Options,选择本地磁盘贮存数据表中的数据,按“Next”继续。
102、经过Bulk Data Transfer创建所有表中的数据终了,按“Next”继续。
103、来到summary显示此次数据转换的信息,可以保存成文件,按“Finish”完成。
这里要将oracle中表eventlogs的数据导入到mysql中。步骤以下:
1、在PL/SQL中用select * 搜索到eventlogs表的所有数据,然后右键点击"Copy to Excel";以下图所示:
2、将数据保存为excel表,并重名;以下图:
3、打开mysql的可视化工具,我这里是Navicat,选择表,点击导入向导;以下图所示:
4、选择上图中"导入类型"的"execel文件",然后点击"下1步";以下图所示:
5、接下来会让你选择文件,选择你已保存的excel文件,并选择“SQL Result”,以下图所示:
6、然后1直点下1步直至步骤6,填充目标栏位。第1个栏位1般是空的,根据你的需要填。我这里填为"_id",并设为主键。以下图所示:
7、然后1直点击下1步,最后1步点击开始。会出现1个“sql result”的表,重命名为你想要的表便可。如图所示:
数据已导入了。其中表中数据类型若不合你的要求,你可以再设计表。