利用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: