利用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中,就可以項目里篩選數據存到新系統的庫中了!

 


 

 

搞了一上午,因為字符集還被同事一波嘲諷,哎,道阻且長,繼續努力吧。

 

Tags: