利用Navicat premium實現將數據從Oracle導入到MySQL
背景:我們給用戶提供了新的直播系統,但客戶之前的老系統用的數據庫是Oracle,我們提供的新系統用的是MySQL
客戶訴求:將老系統中的所有直播數據導入到MySQL中;
思路:我知道Navicat有數據遷移的功能,所以在想將客戶的數據導入到我本地的Oracle中,用Navicat,數據遷移導過來;再在新系統提供接口將老數據導入到新系統中; 但是,我從業這幾年,沒用過Oracle…… 還好,有朋友用過,所以問了問朋友
具體解決步驟:
1、win7系統;安裝Oracle,客戶版本 11gr2;我安裝的版本1. Oracle Database 11g Release 11.2.0.1.0 – 64bit Production;
安裝過程參考://blog.csdn.net/qq_33317586/article/details/81712139
2、安裝Navicat和MySQL
Navicat premium 上官網下載安裝就好了;
MySQL安裝過程參考://www.jb51.cc/mysql/560200.html
3、兩個數據庫環境安裝好之後,將客戶提供的dmp文件導入到Oracle中:
1>Navicat 鏈接Oracle;
2>Oracle 在導入數據庫的之前,需要先創建表空間和表名
--創建表空間 create tablespace LIVE logging datafile 'D:\oracle\LIVE.dbf' size 1024m autoextend on maxsize unlimited extent management local; --創建用戶 create user LIVE identified by root default tablespace LIVE temporary tablespace temp; --權限: grant aq_administrator_role to LIVE with admin option; grant authenticateduser to LIVE with admin option; grant connect to LIVE with admin option; grant dba to LIVE with admin option; grant resource to LIVE with admin option; grant unlimited tablespace to LIVE with admin option;
3>利用命令行 imp命令將dmp文件導入到Oracle數據庫中:
導入整個庫:
C:\Users\Administrator>imp LIVE/root@orcl file = C:\Users\Administrator\Desktop\ a.dmp log = C:\Users\Administrator\Desktop\live.log full = y;
導入整個數據庫命令:imp 用戶名/密碼@orcl file = dmp文件路徑 log = 日誌路徑 full = y;
等待它自動導入,導入成功會提示導入成功,沒有錯誤警告。
……
3、Oracle數據整理好之後,利用Navicat進行數據傳輸
1>先在MySQL新建一個用來放數據的數據庫;注意:數據庫的默認編碼!數據庫的默認編碼!數據庫的默認編碼!別問我為什麼強調(因為字符集 我傻了)……
2>Navicat>工具>數據傳輸:
看見finished successfull就成功了!關閉就可以了。
4、導入到熟悉的MySQL中,就可以項目里篩選數據存到新系統的庫中了!
搞了一上午,因為字符集還被同事一波嘲諷,哎,道阻且長,繼續努力吧。