设为首页 收藏本站
查看: 572|回复: 0

[经验分享] 从mysql转换到oracle数据库(第一刀)

[复制链接]

尚未签到

发表于 2016-7-24 09:28:13 | 显示全部楼层 |阅读模式
  最近公司为了满足客户的要求,要把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日期类型;否则迁移过程中会报错误;如图

    
DSC0000.png
  
  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 驱动。

DSC0001.png
 


  
2.3配置MySQLOracle的连接
点击【连接】右键选择【新建连接】分别建立Mysql 和Oracle连接。
  A 建立Oracle连接:

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-248499-1-1.html 上篇帖子: Oracle同义词,给你带来的几个惊喜 下篇帖子: oracle自动备份并删除以前备份文件批处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表