利用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;
安装过程参考: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 在导入数据库的之前,需要先创建表空间和表名
--创建表空间 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中,就可以项目里筛选数据存到新系统的库中了!
搞了一上午,因为字符集还被同事一波嘲讽,哎,道阻且长,继续努力吧。