溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么將原有的Oracle數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到MySQL中

發(fā)布時間:2021-12-07 11:20:38 來源:億速云 閱讀:107 作者:iii 欄目:數(shù)據(jù)庫

本篇內(nèi)容主要講解“怎么將原有的Oracle數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到MySQL中”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么將原有的Oracle數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到MySQL中”吧!

Oracle中的數(shù)據(jù)某些情況下需要導(dǎo)入到MySQL中,如何方便快捷地導(dǎo)入呢?使用MySQL GUI Tools中的MySQL Migration Toolkit就可以輕松搞定,該工具對CLOB、BLOB類型的數(shù)據(jù)也有非常好的支持。
  1、 運(yùn)行MySQL Migration Toolkit,一路“Next”到“Source Database”,在Database System中選擇Oracle Database Server,如果第一次使用會告之要求加載驅(qū)動程序ojdbc14.jar。

  加載驅(qū)動程序之后,界面將變成如下的形式,在其中填寫Oracle數(shù)據(jù)庫的連接信息,按“Next”繼續(xù)。

  2、 在Target Database中默認(rèn)Database System為MySQL Server,在Connection Parameters中填寫相應(yīng)的MySQL數(shù)據(jù)庫的連接信息,按“Next”繼續(xù)。

  3、進(jìn)行數(shù)據(jù)庫連接測試,測試通過后按“Next”到Source Schemata Selection,點選準(zhǔn)備進(jìn)行數(shù)據(jù)遷移的Schemata后按“Next”繼續(xù)。
  4、在Object Type Selection,點Detailed selection按鈕,在下方左側(cè)列表中選擇不進(jìn)行遷移的表,將其放入右側(cè)列表中,即左側(cè)列表剩余的表都將進(jìn)行數(shù)據(jù)遷移。選擇好之后按“Next”繼續(xù)。
    5、在Object Mapping的Migration of type Oracle Schema,如果要設(shè)置參數(shù),點Set Parameter按鈕。如果默認(rèn)數(shù)據(jù)庫表為UTF8的話,則選擇Multilanguage;如果默認(rèn)數(shù)據(jù)庫表為GBK的話,則需要選擇User defined,并在下方填寫charset=gbk, collation=gbk_general_ci。Migration of type Oracle Table中要設(shè)置參數(shù)點Set Parameter按鈕。如果默認(rèn)數(shù)據(jù)庫表為UTF8的話,則選擇Data consistency/multilanguage;如果默認(rèn)數(shù)據(jù)庫表為GBK的話,則需要選擇User defined,并在下方填寫addAutoincrement=yes, charset=gbk, collation=gbk_general_ci, engine=INNODB。選擇好之后按“Next”繼續(xù)。
  6、再到Manual Editing,在這里可以修改建表腳本。由于Oracle與MySQL之間語法規(guī)則的差異,通常需要對腳本的數(shù)據(jù)類型以及默認(rèn)值進(jìn)行調(diào)整,比如Oracle中通常會對Timestamp類型的數(shù)據(jù)設(shè)置默認(rèn)值sysdate,但在MySQL中是不能識別的。在Filter中選擇Show All Objects,然后在Migrated Objects中選擇要修改腳本的表,再點擊左下方的Advanced就可以進(jìn)行腳本編輯了。修改完之后點擊右側(cè)Apply Changes按鈕保存,按“Next”繼續(xù)。
  7、然后一路“Next”,如果沒有提示出錯的話,就可以將指定表中的數(shù)據(jù)導(dǎo)入MySQL了。如果有提示出錯信息,則需要返回到Manual Editing處對腳本重新進(jìn)行修改。
  需要補(bǔ)充一點,在導(dǎo)大容量數(shù)據(jù)特別是CLOB數(shù)據(jù)時,可能會出現(xiàn)異常:“Packets larger than max_allowed_packet are not allowed”。這是由于MySQL數(shù)據(jù)庫有一個系統(tǒng)參數(shù)max_allowed_packet,其默認(rèn)值為1048576(1M),可以通過如下語句在數(shù)據(jù)庫中查詢其值:
  show VARIABLES like %max_allowed_packet%;
  修改此參數(shù)的方法是在文件夾找到my.ini文件,在my.ini文件[mysqld]中添加一行:
  max_allowed_packet=16777216
  重啟MySQL,這樣將可以導(dǎo)入不大于16M的數(shù)據(jù)了,當(dāng)然這數(shù)值可以根據(jù)需要作調(diào)整。

到此,相信大家對“怎么將原有的Oracle數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到MySQL中”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI