使用MySQL Migration Toolkit快速將Oracle資料匯入MySQL

來源:互聯網
上載者:User

使用MySQL Migration Toolkit快速將Oracle資料匯入MySQL

 

近來筆者有項目需要將原有的Oracle資料庫中的資料匯入到MySQL中,經過試用發現MySQL GUI Tools中的MySQL Migration Toolkit可以非常方便快捷的將Oracle資料導到MySQL中,特別是對CLOB、BLOB類型的資料也有非常好的支援。下面筆者來介紹一下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 System為MySQL Server,在Connection Parameters中填寫相應的MySQL資料庫的串連資訊,按“Next”繼續。

 

 

    3、進行資料庫連接測試,測試通過後按“Next”到Source Schemata Selection,點選準備進行資料移轉的Schemata後按“Next”繼續。

 

    4、在Object Type Selection,點Detailed selection按鈕,在下方左側列表中選擇不進行遷移的表,將其放入右側列表中,即左側列表剩餘的表都將進行資料移轉。選擇好之後按“Next”繼續。

 

    5、在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”繼續。

 

    6、再到Manual Editing,在這裡可以修改建表指令碼。由於Oracle與MySQL之間文法規則的差異,通常需要對指令碼的資料類型以及預設值進行調整,比如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的資料了,當然這數值可以根據需要作調整。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.