mysql数据库如何转移到oracle
作者:漫天雪_昆仑巅
mysql数据库转移到oracle
在研发过程中,可能会用到将表数据库中的表结构及数据迁移到另外一种数据库中,
比如说从mysql中迁移到oracle中,
常用的方法有好些,如下
1、使用powerdesigner,先连接mysql然后生成mysql的pdm,再把mysql的pdm生成cdm(注:如果设计阶段有cdm那更好,可以直接使用,因为cdm是和具体数据库类型无关的,所以需要转为这个中间模型),最后把cdm生成oracle类型的pdm,最后将oracle类型的pdm转为sql文件完成!
2、在使用上面第一种方法的时候可能会失败,失败的原因有很多种,不具体写了,
如果失败了,还可以使用第二种方法,懒人方法,使用Navicat Premium这个工具,Navicat Premium这个工具有个拖拉的功能,
即:在Navicat Premium上连接mysql和oracle,选择mysql中的表,然后拖拉到oracle的表目录下,然后点击确定拷贝表结构和数据即可!
如下图:
3、在使用上面第二种方法的时候数据库表及数据可能是拷贝成功了,但是在使用的时候,直接查询表,
如:select * from sys_role 可能会提示表不存在,这是因为拷贝过去的时候会自带oracle用户及双引号,
所以需要这样查询:
select * from "C##SWYTH_YS"."SYS_ROLE";
如果要去除这些双引号之类的直接查询,可以这么玩:
在第二中方法的基础上,使用Navicat Premium将已经拖拉拷贝到oracle数据库的表及数据导出到sql文件中(即:从oracle中导出),然后在导出的sql文件中修改sql脚本语句,主要修改两个地方(全文替换),很简单的,
1)将"C##SWYTH_YS"." 就把用户替换为空,
2)再将双引号也替换为空,
替换后如下图:
替换完成后!就很清爽了,然后把已有的oracle表删掉,把修改后的sql文件脚本重新导入,这样就可以正常使用sql查询了!
4、以上三种方式数据量小的话可以这么玩,如果数据很大就比较麻烦了,有可能失败,网上也提供了一些直接转换的小工具下载,可以搜索试试,实在不行就只能一个一个表的单独修改了,先修改表结构,再拷贝数据;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。