最近公司为了满足客户的要求,要把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驱动成序】点击 【添加条目】添加Mysql的jdbc 驱动。
2.3配置MySQL和Oracle的连接
点击【连接】右键选择【新建连接】分别建立Mysql 和Oracle连接。
A 建立Oracle连接:
- 大小: 244.3 KB
- 大小: 98.1 KB
- 大小: 78.4 KB
分享到:
相关推荐
它支持所有流行数据库引擎之间的非常快速的数据转换(导入和导出)操作,包括:Microsoft Access,Microsoft Excel,dBase,FoxPro,InterBase,Firebird,Lotus 1-2-3,MariaDB,MySQL,NexusDB,Oracle,Paradox,...
Oracle2Mysql 可以将oracle sql dump转换为与mysql兼容的sql的软件该软件帮助您轻松快速地从oracle迁移到myslq运作方式它会读取由oracle制成的sql文件寻找所有“创建表”并将它们放在第一个sql文件中(这是为了避免...
DBTOOLS支持ORACLE,MYSQL,SQLSERVER,POSTGRE,DB2数据库相互转换功能 目前支持中文和日文 功能: 1。将数据库中的表结构和数据保存到EXCEL中。 2。将EXCEL中的数据,同步到数据库中。 3。当表结构发生变化时,...
Oracle公司的Oracle数据库和MySQL),Web编辑器和集成开发环境(IDE)也很常用,例如Eclipse、NetBeans和Visual Studio Express版。PHP被认为是第四个最常用的编程语言,可以下载用于许多操作系统和Web服务器。 所以...
修改tel列的位置,在第一列显示 alter table user modify tel varchar(15) default '02087654321' first; 修改tel列的位置,在指定列之后显示 alter table user modify tel varchar(15) default '02087654321' after...
二零一六年十月 数据库技术规范全文共11页,当前为第1页。 文档控制页 编号 章节 修订说明 修订日期 修订前版本号 修订后版本号 修改人 审批人 数据库技术规范全文共11页,当前为第2页。 数据库技术规范全文共11页,...
第一章数据库的简介 数据库 数据库(dataBase,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。 数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并...
说明:用于连接到oracle数据库,也可实现用户的切换 用法:conn 用户名/密码 [as sysdba/sysoper] 注意:当用特权用户连接时,必须带上sysdba或sysoper 例子: 3. 断开连接(disc) 说明:断开与当前数据库的连接 ...
一直以来把数据库的表转换成Entity或DTO都是一件让人头痛的事情,既浪费时间又很繁琐,看着几十上百个表的几百上千个字段,真是一件让人很头痛的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接...
第一章数据库的简介 数据库 数据库(dataBase,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。 数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并...
数据库系统概述 —— SQL Server 2016 SQLserver2016-数据库系统概述全文共16页,当前为第1页。 数据库系统(DataBase System,DBS)由计算机软件、硬件、数据库、 数据库管理系统、数据库应用程序、数据库管理员与...
全书压缩打包成2部分,这是第1部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由匹配查找。 内容简介 《PHP开发实战1200例》分为...
目录: 第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 通过...
第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...
timestamp default current_timestamp:只记录第一次插入的时间 数值类型: tinyint 0|1 smallint mediumint int[M] M默认11 人为设定系统也会根据自动分配空间(类似char和varchar) bigint float[(M,D)] 10的...
从数据库元数据访问,到建表,创建约束,创建sequence等各种DDL操作进行了封装,用户无需编写各种SQL,可以直接通过API操作数据库结构。 尤其是ALTER TABLE等修改数据库的语句,各种不同的RDBMS都有较大语法差异。...
Oracle数据库 数据库4种语言 1. DCL:数据控制语言。授权 2. DDL:数据定义语言。创建、修改数据库对象 3. DML:数据操纵语言。对数据库的增、删、改、查。 4.数据库事物处理语言 常用sql语句 1.插入字段 insert ...
Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,...