天天看點

Oracle資料庫遷移到MySQL

涓€.Navicat Premium涓殑鏁版嵁杩佺Щ宸ュ叿

涓轟簡鐢熶駭搴撻噴鏀鵑儴鍒嗚祫婧愶紝闇€瑕佸皢API妯″潡杩佺Щ鍒癿ysql涓紝鍙婇渶瑕佸鏁版嵁銆?

灏濊瘯浜唎racle to mysql宸ュ叿锛岃縼绉繪椂鎶ラ敊涓嶈锛岃繖涔堝ぇ鐨勬暟鎹噺锛岀敤杩欑绠€闄嬬殑宸ュ叿涓嶅ぇ鍙潬銆?

鎰忓鍙戠幇骞蟲椂鐢ㄧ殑鏁版嵁搴撹鍥懼伐鍏種avicat Premium涓湁鏁版嵁杩佺Щ宸ュ叿锛屾剰澶栫殑濂界敤銆傝繖涓伐鍏鋒湰韬敮鎸乵ysql锛宱racle锛宻qlLite锛孭ostgreSql鏁版嵁搴擄紝鍥犳鑰屼篃鎻愪緵浜嗗湪涓嶅悓鏁版嵁搴撲箣闂磋縼绉繪暟鎹殑鍔熻兘銆?

杩佺Щ涔嬪墠锛屽厛纭繚浣犲緩绔嬩簡杩欎袱涓暟鎹簱鐨刢onnection銆傞€夋嫨Tools/DataTransfer銆?

Oracle資料庫遷移到MySQL

閫夋嫨婧愭暟鎹簱锛岄€夋嫨浣犺杩佺殑琛紝鐩爣鏁版嵁搴撱€?

閫夋嫨鍛ㄨ竟銆?

Oracle資料庫遷移到MySQL

杩佺Щ杩囩▼锛屽乏涓婅涓鴻繘搴︺€?

Oracle資料庫遷移到MySQL

浜?浣跨敤MySQL Migration Toolkit蹇€熷皢Oracle鏁版嵁瀵煎叆MySQL

浣跨敤MySQL Migration Toolkit蹇€熷皢Oracle鏁版嵁瀵煎叆MySQL

涓婃潵鍏堣鐐瑰簾璇?

鏈漢鏈€杩戝湪瀛︿範涓€浜涙暟鎹簱鏂歸潰鐨勭煡璇嗭紝涔嬪墠鎺ヨЕ杩嘜racle鍜孧ySQL锛屾渶杩戝張寰堟祦琛孧ongoDB闈炲叧绯誨瀷鏁版嵁搴擄紝鎵€浠ュ共鑴嗕竴璧風爺绌朵竴涓嬶紝瀵規瘮瀛︿範涓壘涓嶅悓锛岄鍏堣涓€涓嬫湰浜轟嬌鐢ㄧ殑鏁版嵁搴撶増鏈拰鍙鍖栧伐鍏?

Oracle10G鈥擯L/SQL Developer9

MySQL5.5.29鈥擬ySQL Workbench6.0

MongoDB2.4.9(32bit鏈€澶?G)鈥擱obomongo0.8.4

涓轟簡淇濇寔鏁版嵁鐨勪竴鑷達紝鎶婄幇鏈塐racle涓殑涓€閮ㄥ垎鏁版嵁绉繪鍒癕ySQL涓紝鐧懼害涔嬪悗鍙戠幇MySQL Migration Toolkit涓嶉敊锛岀幇灏嗘楠ゅ啓鍑鴻窡澶у鍒嗕韓

涓€銆佸畨瑁匨ySQL Migration Toolkit

鍏堝埌http://dev.mysql.com/downloads/gui-tools/5.0.html涓嬭澆MySQL GUI Tools(鍏跺疄灏辨槸涓€涓狹ySQL绠$悊宸ュ叿)锛屽叾涓氨鍖呮嫭MySQL Migration Toolkit宸ュ叿锛屼竴璺痭ext瀹夎瀹屾瘯

浜屻€佺涓€娆¤繍琛岄渶瑕佸姞杞給jdbc14.jar鍖?

杩愯MySQL Migration Toolkit锛屼竴璺€淣ext鈥濆埌鈥淪ource Database鈥濓紝鍦―atabase System涓€夋嫨Oracle Database Server锛屽鏋滅涓€娆′嬌鐢ㄤ細鍛婁箣瑕佹眰鍔犺澆椹卞姩绋嬪簭ojdbc14.jar锛岀劧鍚庨噸鏂闆惎鍔∕ySQL Migration Toolkit銆?

Oracle資料庫遷移到MySQL

涓夈€佸姞杞介┍鍔ㄧ▼搴忎箣鍚庯紝鏉ュ埌Source Database鐣岄潰灏嗗彉鎴愬涓嬬殑褰㈠紡锛屽湪鍏朵腑濉啓Oracle鏁版嵁搴撶殑杩炴帴淇℃伅锛屾寜鈥淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

鍥涖€佸湪Target Database涓粯璁atabase System涓篗ySQL Server锛屽湪Connection Parameters涓~鍐欑浉搴旂殑MySQL鏁版嵁搴撶殑杩炴帴淇℃伅锛屾寜鈥淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

浜斻€佺粡杩嘋onnecting to Server娴嬭瘯閫氳繃鍚庢寜鈥淣ext鈥濓紝鍒癝ource Schemata Selection锛岀偣閫夊噯澶囪繘琛屾暟鎹縼绉葷殑鏁版嵁搴撳悗鎸夆€淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

鍏€佺粡杩嘡everse Engineering娴嬭瘯閫氳繃鍚庢寜鈥淣ext鈥濓紝鍦∣bject Type Selection锛岀偣Detailed selection鎸夐挳锛屽湪涓嬫柟宸︿晶鍒楄〃涓€夋嫨涓嶈繘琛岃縼绉葷殑琛紝灏嗗叾鏀懼叆鍙充晶鍒楄〃鍚庯紝鍗沖乏渚у垪琛ㄥ墿浣欑殑琛ㄩ兘灏嗚繘琛屾暟鎹縼绉彙€傞€夋嫨濂戒箣鍚庢寜鈥淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

涓冦€佸湪Object Mapping鐨凪igration of type Oracle Schema锛屽鏋滆璁劇疆鍙傛暟锛岀偣Set Parameter鎸夐挳銆傚鏋滈粯璁ゆ暟鎹簱琛ㄤ負UTF8鐨勮瘽锛屽垯閫夋嫨Multilanguage;濡傛灉榛樿鏁版嵁搴撹〃涓篏BK鐨勮瘽锛屽垯闇€瑕侀€夋嫨User defined锛屽苟鍦ㄤ笅鏂瑰~鍐檆harset=gbk, collation=gbk_general_ci銆?

Migration of type Oracle Table涓璁劇疆鍙傛暟鐐筍et Parameter鎸夐挳銆傚鏋滈粯璁ゆ暟鎹簱琛ㄤ負UTF8鐨勮瘽锛屽垯閫夋嫨Data consistency/multilanguage;濡傛灉榛樿鏁版嵁搴撹〃涓篏BK鐨勮瘽锛屽垯闇€瑕侀€夋嫨User defined锛屽苟鍦ㄤ笅鏂瑰~鍐檃ddAutoincrement=yes, charset=gbk, collation=gbk_general_ci, engine=INNODB銆傞€夋嫨濂戒箣鍚庢寜鈥淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

鍏€佺粡杩嘙igration娴嬭瘯閫氳繃鍚庯紝鍐嶅埌Manual Editing锛屽湪杩欓噷鍙互淇敼寤鴻〃鑴氭湰銆傜敱浜嶰racle涓嶮ySQL涔嬮棿璇硶瑙勫垯鐨勫樊寮傦紝閫氬父闇€瑕佸鑴氭湰鐨勬暟鎹被鍨嬩互鍙婇粯璁ゅ€艱繘琛岃皟鏁達紝姣斿Oracle涓€氬父浼氬Timestamp绫誨瀷鐨勬暟鎹缃粯璁ゅ€約ysdate锛屼絾鍦∕ySQL涓槸涓嶈兘璇嗗埆鐨勩€傚湪Filter涓€夋嫨Show All Objects锛岀劧鍚庡湪Migrated Objects涓€夋嫨瑕佷慨鏀矽剼鏈殑琛紝鍐嶇偣鍑誨乏涓嬫柟鐨凙dvanced灏卞彲浠ヨ繘琛岃剼鏈紪杈戜簡銆備慨鏀瑰畬涔嬪悗鐐瑰嚮鍙充晶Apply Changes鎸夐挳淇濆瓨锛屾寜鈥淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

涔濄€佸湪Object Creation Options涓紝閫夋嫨鏈湴纾佺洏鍌ㄥ瓨鏁版嵁琛ㄧ粨鏋勶紝鎸夆€淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

鍗併€佺粡杩嘋reating Objects鍒涘緩鎵€鏈夎〃鐨勭粨鏋勫畬姣曪紝琛ㄤ腑骞舵病鏈夋暟鎹紝鎸夆€淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

鍗佷竴銆佷竴璺€渘ext鈥濇潵鍒癉ata Mapping Options锛岄€夋嫨鏈湴纾佺洏鍌ㄥ瓨鏁版嵁琛ㄤ腑鐨勬暟鎹紝鎸夆€淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

鍗佷簩銆佺粡杩嘊ulk Data Transfer鍒涘緩鎵€鏈夎〃涓殑鏁版嵁瀹屾瘯锛屾寜鈥淣ext鈥濈戶缁€?

Oracle資料庫遷移到MySQL

鍗佷笁銆佹潵鍒皊ummary鏄劇ず姝ゆ鏁版嵁杞崲鐨勪俊鎭紝鍙互淇濆瓨鎴愭枃浠訛紝鎸夆€淔inish鈥濆畬鎴愩€?

Oracle資料庫遷移到MySQL

闇€瑕佽ˉ鍏呬竴鐐癸紝鍦ㄥ澶у閲忔暟鎹壒鍒槸CLOB鏁版嵁鏃訛紝鍙兘浼氬嚭鐜闆紓甯革細鈥淧ackets larger than max_allowed_packet are not allowed鈥濄€傝繖鏄敱浜嶮ySQL鏁版嵁搴撴湁涓€涓郴缁熷弬鏁癿ax_allowed_packet锛屽叾榛樿鍊間負1048576(1M)锛屽彲浠ラ€氳繃濡備笅璇彞鍦ㄦ暟鎹簱涓煡璇㈠叾鍊鹼細show VARIABLES like '%max_allowed_packet%';淇敼姝ゅ弬鏁扮殑鏂規硶鏄湪mysql鏂囦歡澶規壘鍒癿y.ini鏂囦歡锛屽湪my.ini鏂囦歡[mysqld]涓坊鍔犱竴琛岋細max_allowed_packet=16777216

閲嶅惎MySQL锛岃繖鏍峰皢鍙互瀵煎叆涓嶅ぇ浜?6M鐨勬暟鎹簡锛屽綋鐒惰繖鏁闆€煎彲浠ユ牴鎹渶瑕佷綔璋冩暣銆?

鍗佸洓銆佷嬌鐢∕ySQL Workbench瀵煎叆鏁版嵁

鐐瑰嚮Data Import/Restore鍏堝鍏ヤ竴娆¤〃缁撴瀯锛屽啀瀵煎叆涓€娆¤〃鏁版嵁锛屽畬鎴愭暟鎹簱杩佺Щ

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

涓? 鍏堟妸oracle琛ㄤ腑鐨勬暟鎹彟瀛樺湪excel琛ㄤ腑锛屽啀鎶奺xcel琛ㄤ腑鏁版嵁瀵煎叆鍒癿ysql涓?

杩欓噷瑕佸皢oracle涓〃eventlogs鐨勬暟鎹鍏ュ埌mysql涓€傛楠ゅ涓嬶細

1銆佸湪PL/SQL涓敤select * 鎼滅儲鍒癳ventlogs琛ㄧ殑鎵€鏈夋暟鎹紝鐒跺悗鍙抽敭鐐瑰嚮"Copy to Excel";濡備笅鍥炬墍绀猴細

Oracle資料庫遷移到MySQL

2銆佸皢鏁版嵁淇濆瓨涓篹xcel琛紝骞堕噸鍚?濡備笅鍥撅細

Oracle資料庫遷移到MySQL

3銆佹墦寮€mysql鐨勫彲瑙嗗寲宸ュ叿锛屾垜杩欓噷鏄疦avicat,閫夋嫨琛紝鐐瑰嚮瀵煎叆鍚戝;濡備笅鍥炬墍绀猴細

Oracle資料庫遷移到MySQL

4銆侀€夋嫨涓婂浘涓?瀵煎叆绫誨瀷"鐨?execel鏂囦歡",鐒跺悗鐐瑰嚮"涓嬩竴姝?;濡備笅鍥炬墍绀猴細

Oracle資料庫遷移到MySQL

5銆佹帴涓嬫潵浼氳浣犻€夋嫨鏂囦歡锛岄€夋嫨浣犲凡缁忎繚瀛樼殑excel鏂囦歡锛屽苟閫夋嫨鈥淪QL Result鈥濓紝濡備笅鍥炬墍绀猴細

Oracle資料庫遷移到MySQL

6銆佺劧鍚庝竴鐩寸偣涓嬩竴姝ョ洿鑷蟲楠?锛屽~鍏呯洰鏍囨爮浣嶃€傜涓€涓爮浣嶄竴鑸槸绌虹殑锛屾牴鎹綘鐨勯渶瑕佸~銆傛垜杩欓噷濉負"_id"锛屽苟璁句負涓婚敭銆傚涓嬪浘鎵€绀猴細

Oracle資料庫遷移到MySQL

7銆佺劧鍚庝竴鐩寸偣鍑諱笅涓€姝ワ紝鏈€鍚庝竴姝ョ偣鍑誨紑濮嬨€備細鍑虹幇涓€涓€渟ql result鈥濈殑琛紝閲嶅懡鍚嶄負浣犳兂瑕佺殑琛ㄥ嵆鍙€傚鍥炬墍绀猴細

Oracle資料庫遷移到MySQL

鏁版嵁宸茬粡瀵煎叆浜嗐€傚叾涓〃涓暟鎹被鍨嬭嫢涓嶅悎浣犵殑瑕佹眰锛屼綘鍙互鍐嶈璁¤〃銆?

杞澆浜?https://blog.51cto.com/zhangzhankuan/1908393