使用MySQLMigrationToolkit快速將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不錯,現將步驟寫出跟你們分享
1、安裝MySQL Migration Toolkit
先到http://dev.mysql.com/downloads/gui-tools/5.0.html下載MySQL GUI Tools(其實就是一個MySQL管理工具),其中就包括MySQL Migration Toolkit工具,一路next安裝完畢
2、第一次運行須要加載ojdbc14.jar包html

運行MySQL Migration Toolkit,一路「Next」到「Source Database」,在Database System中選擇Oracle Database Server,若是第一次使用會告之要求加載驅動程序ojdbc14.jar,而後從新啓動MySQL Migration Toolkit。mysql

\

3、加載驅動程序以後,來到Source Database界面將變成以下的形式,在其中填寫Oracle數據庫的鏈接信息,按「Next」繼續。sql

\

4、在Target Database中默認Database System爲MySQL Server,在Connection Parameters中填寫相應的MySQL數據庫的鏈接信息,按「Next」繼續。數據庫

\

5、通過Connecting to Server測試經過後按「Next」,到Source Schemata Selection,點選準備進行數據遷移的數據庫後按「Next」繼續。app

\

6、通過Reverse Engineering測試經過後按「Next」,在Object Type Selection,點Detailed selection按鈕,在下方左側列表中選擇不進行遷移的表,將其放入右側列表後,即左側列表剩餘的表都將進行數據遷移。選擇好以後按「Next」繼 續。工具

\

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」繼續。測試

\

8、通過Migration測試經過後,再到Manual Editing,在這裏能夠修改建表腳本。因爲Oracle與MySQL之間語法規則的差別,一般須要對腳本的數據類型以及默認值進行調整,好比 Oracle中一般會對Timestamp類型的數據設置默認值sysdate,但在MySQL中是不能識別的。在Filter中選擇Show All Objects,而後在Migrated Objects中選擇要修改腳本的表,再點擊左下方的Advanced就能夠進行腳本編輯了。修改完以後點擊右側Apply Changes按鈕保存,按「Next」繼續。ui

\

9、在Object Creation Options中,選擇本地磁盤儲存數據表結構,按「Next」繼續。3d

\

10、通過Creating Objects建立全部表的結構完畢,表中並無數據,按「Next」繼續。

\

11、一路「next」來到Data Mapping Options,選擇本地磁盤儲存數據表中的數據,按「Next」繼續。

\

12、通過Bulk Data Transfer建立全部表中的數據完畢,按「Next」繼續。

\

十3、來到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的數據了,固然這數值能夠根據須要做調整。
十4、使用MySQL Workbench導入數據
點擊Data Import/Restore先導入一次表結構,再導入一次表數據,完成數據庫遷移

 

http://www.2cto.com/database/201402/276445.html

相關文章
相關標籤/搜索