从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

创建表空间、用户、授权

 

 

 

 

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.3配置MySQLOracle的连接

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

A 建立Oracle连接:

2.2配置环境

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



 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值