背景:我们给用户提供了新的直播系统,但客户之前的老系统用的数据库是Oracle,我们提供的新系统用的是MySQL

客户诉求:将老系统中的所有直播数据导入到MySQL中;

思路:我知道Navicat有数据迁移的功能,所以在想将客户的数据导入到我本地的Oracle中,用Navicat,数据迁移导过来;再在新系统提供接口将老数据导入到新系统中; 但是,我从业这几年,没用过Oracle…… 还好,有朋友用过,所以问了问朋友

具体解决步骤:

1、win7系统;安装Oracle ,客户版本 11gr2;我安装的版本1. Oracle Database 11g Release 11.2.0.1.0 - 64bit Production;

安装过程参考: https://blog.csdn.net/qq_33317586/article/details/81712139

2、安装Navicat和MySQL

Navicat premium 上官网下载安装就好了;

MySQL安装过程参考: https://www.jb51.cc/mysql/560200.html

3、两个数据库环境安装好之后,将客户提供的 dmp文件 导入到Oracle中:

1>Navicat 链接Oracle;

2>Oracle 在导入数据库的之前,需要先创建表空间和表名

-- 权限: 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>工具>数据传输: