`

mysql转oracle

阅读更多

今天接到一个任务,让我把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默认的数据库)

另:此处提供简略版创建用户与表空间的结构,此处不做解释,后期补充

--创建临时表空间    aaaa意义:临时表空间,临时表空间文件 
create temporary tablespace aaaa_temp
tempfile 'G:\software\Java_database\oracle\runtimebj\aaaa_temp.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
 
--创建数据表空间    aaaa意义:表空间,表空间文件
create tablespaceaaaa
logging
datafile 'G:\software\Java_database\oracle\runtimebj\aaaa.dbf'
size 100m
autoextend on
next 32m maxsize 2048m
extent management local; 
 
--创建用户并指定表空间        aaaa顺序意义:用户名,密码,表空间,临时表空间
create user aaaa identified byaaaa
default tablespaceaaaa temporary tablespaceaaaa_temp;
--授予message用户DBA角色的所有权限    此处的aaaa只表示用户名 
GRANT DBA TOaaaa;
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工具

    数据库 Mysql转oracle sql脚本转oracle脚本

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...

    mysql 转换oracle工具

    mysql 转换oracle工具,很小,但很好用,记住oracle的表名称和字段名称不能超过30,否则转换失败的

    mysql转oracle要注意的几项

    mysql 转 oracle 需要注意的几个方法

    MySQL to Oracle MySQL 转 Oracle亲自测试,好用

    MySQL to Oracle MySQL 转 Oracle亲自测试,好用

    mysql 数据库转 oracle

    mysql数据库转oracle工具,解压即用,支持表结构转换a

    两个软件奥mysql转oracle oracle转mysql

    Convert Mysql to Oracle功能特点 可能转换所有的Mysql字段类型 支持所有版本的Mysql 可以将数据合并到已经存在的ORACLE表中 非常容易使用的向导模式 支持所有版本的Mysql字符集 对超大数据表的导出进行了优化处理

    MySQL转Oracle的记录文档

    自己整理的关于MySQL转Oracle的记录文档,使用最新版本SQL Developer,官网即可下载,无需安装解压即可运行,附送mysql-connector-java-5.0.8链接包。文档末位对转换数据库之后索引、表空间移动有提供对应SQL,喜欢...

    MySql转换成Oracle工具

    Convert Mysql to Oracle 最新版本:4.0 Convert Mysql to Oracle是一个免费的数据库转换工具,实现快速安全地将Mysql数据库导入为ORACLE数据库。 Convert Mysql to Oracle 功能特点 可以转换所有的Mysql字段类型 ...

    Mysql转Oracle.rar

    Mysql转Oracle.rar,漂亮的前端后台静态代码,适合选用二次开发,bootstrap结构,自适应手机电脑,非常棒的代码。

    sqlite转mysql转Oracle工具

    此工具可以把sqlite mysql 和oracle数据互转 不会乱码丢数据 操作简单 只需要输入正确的sql连接字符串选择表设置分页就可以了 工具无一万条数据的限制

    Mysql数据库转oracle工具

    Mysql数据库转oracle工具 ,要求改工具能同时访问到mysql和oracle ,配置完毕直接由mysq导入Oracle库了,超级方便简单,免去了n多数据类型转换,表连接等痛苦

    Oracle的表结构转成Mysql的表结构

    ORACLE表生成MYSQL建表DDL

    MySQL转成Oracle数据库工具

    MySQL转成Oracle数据库工具

    mysql转换到oracle数据库

    个人总结的mysql转到oracle中,需要注意的事项

    Oracle SQLDeveloper Migration Workbench(MySQL to Oracle)

    SQL Developer Migration Workbench(MySQL to Oracle) 经过我公司的测试和验证,并成功运用于我公司现有项目的移植工作上:mysql5.5移植到oracle11g;发布出来避免各位同僚总是找不到有效、可行的移植方法,也不希望...

    从mysql转换到oracle数据库.docx

    从mysql转换到oracle数据库.docx

    jeesite 数据库由MySQL转Oracle

    开源框架jeesite数据库默认为MySQL版,本文档中介绍了如何转为Oracle版本,简单明了,只需要修改不过3处代码即可。因为开发要求需要用Oracle11G和weblogic12.1.3。所以特写该文档,后续还会整理一个在weblogic下如何...

    MySQL转换Oracle的需要注意的七个事项

    有很多应用项目, 刚起步的时候用MySQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MySQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有MySQL转换Oracle的需求,应用程序也要相应做...

Global site tag (gtag.js) - Google Analytics