今天接到一个任务,让我把MySQL中的表与数据移植到Oracle中(也就是我们的项目需要使用Oracle),本来打算一个表一个表的改的(很傻很天 真),结果发现,光sql语句就有40多兆!从网上找了好久,参考了好多方法,最后只有这个实现了,也就是Oracle中的Oracle SQL Developer工具实现了数据库的移植,特此分享。
1、工具的准备
1.1、安装Oracle SQL Developer,我是用的是最新版本,下载后解压到任意目录即可(不含中文,空格)。
1.2、下载mysql的驱动jar文件,官网地址查出后忘了,此处免费提供下载;下载后解压到任意目录
1.3、打开Oracle SQL Developer,菜单栏中选择 工具-->首选项-->数据库-->第三方JDBC驱动程序中选择mysql驱动解压后的jar文件,然后点击确定。
2、建立Oracle数据库与用户(用来承载mysql移植来的数据)-->此处操作后续补齐,网上资料很多,当然,此处也可以省略(如果你的项目中不需要额外的数据库和用户的话)
2.1、在数据库建好之后,为了给用户授予权限,我们创建一个管理员的连接(当然,你也可以在命令行中连接oracle完成授权操作)
2.2、建立用户并授予权限,授予权限(此处指你已经创建了自己的数据库,或者使用oracle默认的数据库)
另:此处提供简略版创建用户与表空间的结构,此处不做解释,后期补充
grant resource to aaaawith admin option; --需添加这句话否则连接的时候会报错...
2.3再次创建连接,使用新创建的用户连接
2.4、连接建立后,右键连接,移植资料档案库-->关联移植资料档案库-->点击确定
2.5、连接mysql(就是需要进行移植到的mysql数据库),点击选择数据库后确定
3、移植mysql中的表到数据库
3.1、在刚刚建立的mysql中选择需要进行移植的数据库(也可以点击加号,批量选择需要移植的表,此处移植整个数据库,所以我在数据库上右键了),右键选择捕获方案
等待
3.2、在刚捕获的模型中选择需要的数据库或者表等,点击转换为Oracle模型
3.3、设置数据映射,一般默认即可(但是我的项目中mysql使用了datetime和timestamp,如果默认会转为oracle中的date,从而失去了时分秒,如果必须需要十分秒的话,此处映射可以将timestamp-->timestamp,但是datetime这里好像是无法转换为timestamp,只能后面手动修改了...悲剧...),此后点击应用,同样进入进度条
3.4、右键点击刚刚捕获的方案,因为在生成的时候,他会根据方案名称重新创建用户,并将生成的表存放到该用户下,所以建议重命名方案,将其修改为我们需要的用户名称(用户名与密码相同),用户名称也就是我们jdbc或者hibernate连接数据库时将要使用的名称。完成后点击生成。
3.5、生成建立表的sql语句,点击下列红色框按钮开始执行...等待
3.6、执行后,在创建连接,使用我们执行sql中的用户名密码(也就是方案名称),连接后,你会发现,表已经生成了
表移植完毕
4、数据的移植
4.1、右键上次我们创建的转换的模型,选择移动数据
4.2、选择源与目标(目标是我们刚刚建立表的那个连接)
4.3、进入移动数据进度条,等待后,数据移动完成。
结束语:
这篇文章是刚刚修改过的(2013/12/26),因为上文已经提到,datetime使用工具无法自动转换为timestamp(虽然oracle中的timestamp格式也不咋好),手动修改了很多(使用SQLyog和sql developer工具边对比边修改,方法很笨,也没找到别的方法;目前经过检测,发现数据和表都无缺失,当然,还需要进一步测试,如有错误,会随时更新...)
好了,准备修改hibernate中的xxx.hbm.xml映射文件(需要修改主键生成策略,以及部分数据库中的字段类型,比如mysql中的timestamp需要转换为date等....很悲剧...又是体力活...)
相关推荐
数据库 Mysql转oracle sql脚本转oracle脚本
Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...
mysql 转换oracle工具,很小,但很好用,记住oracle的表名称和字段名称不能超过30,否则转换失败的
mysql 转 oracle 需要注意的几个方法
MySQL to Oracle MySQL 转 Oracle亲自测试,好用
mysql数据库转oracle工具,解压即用,支持表结构转换a
Convert Mysql to Oracle功能特点 可能转换所有的Mysql字段类型 支持所有版本的Mysql 可以将数据合并到已经存在的ORACLE表中 非常容易使用的向导模式 支持所有版本的Mysql字符集 对超大数据表的导出进行了优化处理
自己整理的关于MySQL转Oracle的记录文档,使用最新版本SQL Developer,官网即可下载,无需安装解压即可运行,附送mysql-connector-java-5.0.8链接包。文档末位对转换数据库之后索引、表空间移动有提供对应SQL,喜欢...
Convert Mysql to Oracle 最新版本:4.0 Convert Mysql to Oracle是一个免费的数据库转换工具,实现快速安全地将Mysql数据库导入为ORACLE数据库。 Convert Mysql to Oracle 功能特点 可以转换所有的Mysql字段类型 ...
Mysql转Oracle.rar,漂亮的前端后台静态代码,适合选用二次开发,bootstrap结构,自适应手机电脑,非常棒的代码。
此工具可以把sqlite mysql 和oracle数据互转 不会乱码丢数据 操作简单 只需要输入正确的sql连接字符串选择表设置分页就可以了 工具无一万条数据的限制
Mysql数据库转oracle工具 ,要求改工具能同时访问到mysql和oracle ,配置完毕直接由mysq导入Oracle库了,超级方便简单,免去了n多数据类型转换,表连接等痛苦
ORACLE表生成MYSQL建表DDL
MySQL转成Oracle数据库工具
个人总结的mysql转到oracle中,需要注意的事项
SQL Developer Migration Workbench(MySQL to Oracle) 经过我公司的测试和验证,并成功运用于我公司现有项目的移植工作上:mysql5.5移植到oracle11g;发布出来避免各位同僚总是找不到有效、可行的移植方法,也不希望...
从mysql转换到oracle数据库.docx
开源框架jeesite数据库默认为MySQL版,本文档中介绍了如何转为Oracle版本,简单明了,只需要修改不过3处代码即可。因为开发要求需要用Oracle11G和weblogic12.1.3。所以特写该文档,后续还会整理一个在weblogic下如何...
有很多应用项目, 刚起步的时候用MySQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MySQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有MySQL转换Oracle的需求,应用程序也要相应做...