`

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软件 DBMover for Mysql to Oracle

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

    Mysql转oracle工具

    MySQL到Oracle转换是一个常见的任务,特别是在企业级应用迁移或整合过程中。这个工具专注于将MySQL的数据库结构和数据转换为Oracle数据库兼容的格式。下面将详细解释这个过程涉及的知识点。 1. **SQL语言的差异**:...

    mysql 转换oracle工具

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

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

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

    mysql 数据库转 oracle

    MySQL到Oracle的数据迁移是一项常见的任务,特别是在企业级应用中,可能因为各种原因需要从MySQL迁移到功能更强大的Oracle数据库系统。下面将详细讲解这个过程涉及的关键知识点。 首先,我们需要了解MySQL和Oracle...

    mysql转oracle要注意的几项

    在IT行业中,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间进行转换时,如从MySQL迁移到Oracle。这一过程不仅涉及到数据的迁移,还涉及到SQL语法、函数、数据类型等多方面的差异处理。以下是从给定文件...

    Mysql转Oracle.rar

    【标题】"Mysql转Oracle"的项目是一个关于将基于MySQL的数据系统迁移至Oracle数据库的实践案例。在软件开发中,这种迁移可能由于多种原因,如性能需求、企业标准、功能扩展等。这个压缩包中包含的资源可能帮助开发者...

    两个软件奥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工具

    首先,"Mysql数据库转oracle工具"通常是指能够帮助用户无缝地将MySQL中的数据迁移到Oracle数据库的应用程序。这样的工具简化了手动迁移过程,减少了数据类型转换、表结构适配和数据关联等复杂工作。在描述中提到的...

    jeesite 数据库由MySQL转Oracle

    ### jeesite 从 MySQL 转换到 Oracle #### 开源框架jeesite数据库迁移:MySQL至Oracle 本文档将详细介绍如何将开源框架jeesite的数据库从MySQL转换为Oracle的过程,整个过程较为简单,主要涉及对项目的几个关键...

    sqlite转mysql转Oracle工具

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

    mysql-oracle数据转换工具

    MySQL和Oracle都是广泛使用的数据库管理系统,分别在开源和企业级市场占据重要地位。在实际的业务环境中,由于各种原因,如系统升级、合并或技术选型的变化,有时我们需要将数据从MySQL迁移到Oracle,或者反之。这时...

    Oracle SQLDeveloper Migration Workbench(MySQL to Oracle)

    ### Oracle SQL Developer Migration Workbench (MySQL to Oracle) #### 概述 随着企业信息化建设的不断深入,数据库迁移已经成为一种常见的需求。特别是在不同数据库系统之间的数据迁移过程中,如何保证数据的...

    MySQL转成Oracle数据库工具

    MySQL到Oracle数据库转换工具是一种专门用于将MySQL数据库的数据和结构迁移至Oracle数据库的应用程序。这个过程通常涉及到数据的导出、格式转换以及导入,确保在两个不同数据库系统间的数据一致性。以下是对这一转换...

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

    ### Oracle的表结构转成MySQL的表结构 #### 功能概述 本文介绍了一种将Oracle数据库中的表结构转换为MySQL数据库表结构的方法。通过编写一个PL/SQL函数`fnc_table_to_mysql`来实现这一目标。该函数可以接受四个参数...

    mysql转换到oracle数据库

    ### MySQL到Oracle数据库转换的关键知识点 #### 一、MySQL到Oracle数据库转换的总体流程 **1. 分表结构及表数据两次导出** - **原因**:由于MySQL与Oracle数据库之间的语法差异较大,一次性导出后直接进行转换...

    从mysql转换到oracle数据库.docx

    MySQL 到 Oracle 数据库转换指南 在实际项目中,我们经常会遇到从 MySQL 转换到 Oracle 数据库的情况。这两种数据库有很多具体的应用不同,导致我们需要手动转换数据库结构和数据。本文将详细介绍从 MySQL 转换到 ...

Global site tag (gtag.js) - Google Analytics