`

从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,里面提到数据库的“移植”,呵呵……

相关推荐

    Full Convert数据库转换器

    它支持所有流行数据库引擎之间的非常快速的数据转换(导入和导出)操作,包括:Microsoft Access,Microsoft Excel,dBase,FoxPro,InterBase,Firebird,Lotus 1-2-3,MariaDB,MySQL,NexusDB,Oracle,Paradox,...

    Oracle2Mysql:可以将oracle sql dump转换为mysql兼容sql的软件

    Oracle2Mysql 可以将oracle sql dump转换为与mysql兼容的sql的软件该软件帮助您轻松快速地从oracle迁移到myslq运作方式它会读取由oracle制成的sql文件寻找所有“创建表”并将它们放在第一个sql文件中(这是为了避免...

    数据库第三方操作工具DBTOOLS

    DBTOOLS支持ORACLE,MYSQL,SQLSERVER,POSTGRE,DB2数据库相互转换功能 目前支持中文和日文 功能: 1。将数据库中的表结构和数据保存到EXCEL中。 2。将EXCEL中的数据,同步到数据库中。 3。当表结构发生变化时,...

    数据库原理(第5版)

    Oracle公司的Oracle数据库和MySQL),Web编辑器和集成开发环境(IDE)也很常用,例如Eclipse、NetBeans和Visual Studio Express版。PHP被认为是第四个最常用的编程语言,可以下载用于许多操作系统和Web服务器。 所以...

    mysql数据库的基本操作语法

    修改tel列的位置,在第一列显示 alter table user modify tel varchar(15) default '02087654321' first; 修改tel列的位置,在指定列之后显示 alter table user modify tel varchar(15) default '02087654321' after...

    数据库技术规范.docx

    二零一六年十月 数据库技术规范全文共11页,当前为第1页。 文档控制页 编号 章节 修订说明 修订日期 修订前版本号 修订后版本号 修改人 审批人 数据库技术规范全文共11页,当前为第2页。 数据库技术规范全文共11页,...

    第一章数据库的简介.docx

    第一章数据库的简介 数据库 数据库(dataBase,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。 数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:用于连接到oracle数据库,也可实现用户的切换 用法:conn 用户名/密码 [as sysdba/sysoper] 注意:当用特权用户连接时,必须带上sysdba或sysoper 例子: 3. 断开连接(disc) 说明:断开与当前数据库的连接 ...

    根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第10版)

    一直以来把数据库的表转换成Entity或DTO都是一件让人头痛的事情,既浪费时间又很繁琐,看着几十上百个表的几百上千个字段,真是一件让人很头痛的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接...

    数据库.txt

    第一章数据库的简介 数据库 数据库(dataBase,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。 数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并...

    SQLserver2016-数据库系统概述.pptx

    数据库系统概述 —— SQL Server 2016 SQLserver2016-数据库系统概述全文共16页,当前为第1页。 数据库系统(DataBase System,DBS)由计算机软件、硬件、数据库、 数据库管理系统、数据库应用程序、数据库管理员与...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    全书压缩打包成2部分,这是第1部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由匹配查找。 内容简介  《PHP开发实战1200例》分为...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    目录: 第1篇 基础篇 第1章 开发环境 2 1.1 AppServ——PHP集成化安装包 3 实例001 通过AppServ配置PHP开发环境 3 实例002 AppServ应用技巧 6 实例003 第1个PHP程序 7 1.2 XAMPP——PHP集成化安装包 8 实例004 通过...

    JDBC 3.0数据库开发与设计

    第1章 JDBC概述 1.1 JDBC简介 1.2 JDBC3.0规范 1.3 JDBC3.0 API的新特点 1.3.1 JDBC 3.0 API的一致性 1.3.2 不赞成的API 1.4 JDBC 3.0中的类和接口 1.4.1 java.sql包中的类和接口及其使用 1.4.2 javax.sql...

    mysql基础只是总结

    timestamp default current_timestamp:只记录第一次插入的时间 数值类型: tinyint 0|1 smallint mediumint int[M] M默认11 人为设定系统也会根据自动分配空间(类似char和varchar) bigint float[(M,D)] 10的...

    支持多数据库的ORM框架ef-orm.zip

    从数据库元数据访问,到建表,创建约束,创建sequence等各种DDL操作进行了封装,用户无需编写各种SQL,可以直接通过API操作数据库结构。 尤其是ALTER TABLE等修改数据库的语句,各种不同的RDBMS都有较大语法差异。...

    jdbc操作文档,数据库基本操作文档集合

    Oracle数据库 数据库4种语言 1. DCL:数据控制语言。授权 2. DDL:数据定义语言。创建、修改数据库对象 3. DML:数据操纵语言。对数据库的增、删、改、查。 4.数据库事物处理语言 常用sql语句 1.插入字段 insert ...

    sqoop-1.4.6.bin-hadoop-2.0.4-alpha版本的压缩包,直接下载到本地,解压后即可使用

    Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,...

Global site tag (gtag.js) - Google Analytics