`

从mysql转换到oracle数据库(第一刀)

阅读更多

 最近公司为了满足客户的要求,要把mysql 数据库换成oracle 数据库,而且要做到我们的项目要同时支持这两种数据库。之前在网上查了一下资料 大部分人采用手动去转换,而且要分两步,第一步是对表的修改,第二步是对数据修改。可要知道我们的项目用了100多张表,如果采取手动的方式去修改 岂不累死。所以我就想有没有工具能转换,结果从oracle 官方网站上找到了一个sqldeveloper的客户端工具,下载地址是http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

。接下来我为大家从迁移前准备迁移操作步聚迁移后维护修改代码 这四个步骤 详细的简绍 转换的全过程  ,希望给那些公司需要换数据库的提供一下参考

环境(jdk 1.6,Mysql 5.0,Oracle 11g,sqldeveloper 2.1.1.64.45).

1.迁移前准备

 

1.1.修改日期类型

我们使用的mysql数据库其日期类型我们大部分用了timestamp,timestamp日期类型格式为“YYYY-MM-DD HH:MM:SS”。而oracle中也有timestamp日期类型,其默认格式为:“DD-MON-RR HH.MI.SS.AM”;因为日期格式不正确,所以我们在迁移前把用到timestamp日期类型的都改为datetime日期类型;否则迁移过程中会报错误;如图


 

1.2.修改列名

数据库中我们有好几张表都到了”comment””orders”, ”online”,“uid” 这四个单词做列名, 不幸的是comment,online,uid oracle数据库中是关键字;

查看oracle数据库中关键字有哪些:select * from  v$reserved_words;

用sqldeveloper 转的时候 这些关键字都被传成"commnt_","uid_" …… 为了做到兼容 ,所以我们在迁移前把mysql数据库中的字段改为commnt_","uid_" ……

 

1.3 使用putty工具

我们使用Putty工具登录到安装有oracle数据库的那台服务器上,如172.30.0.XXX。按以下命令进行操作:

输入服务器地址: 172.30.0.XXX 用户名 root 密码:123456;

键入 cd /opt/oracle/product/11gR2/db/bin/ 命令;

如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户

键入 sqlplus "/as sysdba";

 

1.4 创建表空间、用户、授权

 

 

下面是oracle 语句:(表空间名、用户名可以任意取名)

创建表空间:

CREATE TABLESPACE dh DATAFILE '/opt/oracle/oradata/orcl/ dh.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

创建新用户 :

CREATE USER xiaolv IDENTIFIED BY  xiaolv DEFAULT TABLESPACE dh;

给用户授权:

 

 

grant connect to xiaolv ;

grant unlimited tablespace to xiaolv ;

grant create database link to xiaolv ;

grant select any sequence,create materialized view to xiaolv ;

grant create view to xiaolv ;

grant dba to xiaolv ;

grant resource to xiaolv ;

 

 

1.5  删除用户、表空间

下面是oracle 语句:

删除用户:

drop user xiaolv cascade;

删除表空间:

drop tablespace dh including contents and datafiles;

 

 

2.迁移操作步骤

2.1需要准备的工具

连接Mysql jdbc 驱动 mysql-connector-java-5.0.4-bin.jar ;

 

2.2配置环境

选择【 工具-首选项数据库-第三方JDBC驱动成序】点击 【添加条目】添加Mysqljdbc 驱动。



 

 

2.3配置MySQLOracle的连接

点击【连接】右键选择【新建连接】分别建立Mysql Oracle连接。

A 建立Oracle连接:

  • 大小: 244.3 KB
  • 大小: 98.1 KB
  • 大小: 78.4 KB
分享到:
评论
2 楼 depravedangel 2010-10-22  
其实做系统,数据库的数据一般情况下都是经过了程序的MODEL来操纵的
数据库迁移的问题归根结底就是从一个数据库中查询出数据保存进另外一个数据库

一种通用、简单、可行的方案:建立一个ORM(如Hibernate),将数据查询到Model中,然后在保存进另外一个数据库,这样就不会存在MySql转Oracle还是Oracle转MSServer的问题,在Model看来,就变成了从A库读取,再存储进B库
1 楼 liangguanhui 2010-10-22  
最近看Tom的Expert Oracle Database Architecture,里面提到数据库的“移植”,呵呵……

相关推荐

    从mysql转换到oracle数据库.docx

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

    Mysql数据库导入Oracle

    MySQL到Oracle的数据迁移是一项常见的任务,特别是在企业级应用中,可能因为业务需求或者系统升级而需要将数据从MySQL迁移到Oracle。在这个过程中,我们需要了解两者之间的差异,以及如何有效地进行数据转换和导入。...

    mysql-oracle数据同步

    2. **编程方式**:通过编写Java、Python或其他语言的脚本,连接MySQL和Oracle数据库,读取MySQL数据,处理后写入Oracle。这种方式需要对数据库API有深入理解,比如JDBC、ODBC等。 3. **数据库复制服务**:Oracle...

    SpringBoot定时任务实现Oracle和mysql数据同步

    1. **Oracle数据库连接**:使用JDBC的`DriverManager.getConnection()`方法建立与Oracle数据库的连接。记得在`pom.xml`中引入对应的Oracle JDBC驱动依赖。 2. **MySQL数据库连接**:同理,也需要设置MySQL的JDBC...

    实验授课计划-Oracle数据库教程(第2版)-赵明渊-清华大学出版社.docx

    根据提供的文档信息,以下是从《Oracle数据库教程(第2版)》中提炼出的相关知识点: ### 1. E-R图画法与概念模型向逻辑模型的转换 - **E-R图的基本概念**:实体(Entity)、属性(Attribute)以及联系(Relationship)...

    mysql数据导入到Oracle中

    标题"mysql数据导入到Oracle中"指出,我们的目标是从MySQL数据库中提取数据并将其导入到Oracle数据库。这通常是因为业务需求的变化,比如性能优化、合规性要求或者是为了利用Oracle特有的功能。迁移过程可以涉及结构...

    pandas与mysql、oracle数据库数据交互(csdn)————程序.pdf

    首先,对于Oracle数据库,Pandas通过第三方库cx_Oracle来建立连接。cx_Oracle是一个Python接口,允许Python程序与Oracle数据库进行通信。在Ubuntu 20.04上安装cx_Oracle模块,可以按照以下步骤操作: 1. 安装必要的...

    Oracle JDeveloper与Oracle数据库

    - **Thin Driver**:这是一种纯Java驱动,不需要任何客户端软件就能连接到Oracle数据库。 - **OCI8 Driver**:这是一种基于Oracle Call Interface (OCI)的本地驱动,性能较高但需要在客户端安装Oracle客户端软件。 ...

    Mysql迁移Oracle方案

    - **连接生产Oracle数据库**:同样地,也需要通过Oracle SQL Developer连接到生产Oracle数据库。 ##### 2.3 执行迁移 - **关联移植资料档案库**:在Oracle数据库中选择“移植资料档案库”并进行关联。成功后,在...

    access数据库转换工具

    Access数据库转换工具是一种专门用于将Microsoft Access数据库格式的数据迁移到其他数据库系统或文件格式的软件。Access数据库(.mdb或.accdb)虽然在小型企业和个人用户中广泛应用,但有时需要与不支持Access格式的...

    oracle转换mysql工具1

    描述中提到的“oracle转换mysql工具1”,暗示这是一个工具套装的第一部分或者初始版本,可能包含基础的转换功能和一些基本的设置选项,适合那些需要进行初步数据库迁移的用户。 标签“oracle”、“mysql”和“工具...

    oracle到sqlserver 跨库查询

    Oracle 到 SQL Server 跨库查询是指通过网关工具将数据从 SQL Server 数据库中抽取到 Oracle 数据库中。这个过程需要安装和配置网关软件,并进行相应的设置和配置。 一、网关软件安装 网关软件的安装是跨库查询的...

    mysql sqlserver等数据库文档导出

    10. `DDTek.Oracle.dll`:DDTek可能是另一款Oracle数据库操作的第三方组件。 综合这些组件,我们可以推测这是一个集成工具,可能用于跨多种数据库系统进行文档导出,同时支持多种输出格式,如SQL脚本、PDF、Excel和...

    迁移mysql数据到oracle上参照.pdf

    1. **SQL Developer**: SQL Developer是Oracle公司提供的一款免费的集成开发环境(IDE),用于管理Oracle数据库。在这个场景中,它被用作迁移工具,支持从多种数据库(包括MySQL)导入数据到Oracle。 2. **版本要求...

    oracle2mysql

    1. **数据迁移的背景**:在业务发展或技术转型中,由于Oracle数据库的高昂成本,许多企业可能会选择迁移到成本效益更高的MySQL。"oracle2mysql"工具简化了这个过程。 2. **数据迁移的步骤**: - **数据导出**:...

    Oracle到mysql转换的问题总结.doc

    Oracle到MySQL转换的过程中,会遇到多种语法和功能上的差异,以下是对这些差异的详细说明: 1. 字段类型的区别: - Oracle的`NUMBER(10,0)`对应MySQL的`INT`,而`NUMBER(10,2)`则对应`DECIMAL(10,2)`。`VARCHAR2`...

    Oracle到mysql转换的问题总结要点.doc

    Oracle到MySQL转换过程中会遇到多个问题和差异,以下是一些关键点的详细说明: 1. **字段类型转换**: - `NUMBER(10,0)`在Oracle中对应的是整数类型,而在MySQL中可转换为`INT`。 - `NUMBER(10,2)`在Oracle中是带...

Global site tag (gtag.js) - Google Analytics