db2 迁移 oracle的一次经历

1 篇文章 0 订阅
1 篇文章 0 订阅

最近朋友给了个活,将系统的db2转成Oracle,不大也不小,但之前没做过。。惊讶

具体情况是,表有900多张,存储过程70多,视图130多,函数和其他若干。。。。。。。。至于需要移植的数据量,我只知道要全量,具体多大。。。。百万条应该有吧。

那咱直接就向度娘伸手了。。。羡慕。。。度娘是伟大的。。。用她那甘甜的...一直哺育着我们。。


网上各种db2转oracle的做法看的眼花缭乱。。

      有写程序实现的。具体没看过内容,应该是JDBC 分别链接DB2/ORACLE 获取表信息,再创建,迁移吧。。。

      有db2move做取import文件,手工改DDL语句,然后再oracle创建表,再将DB2数据导出,PL/SQL ODBC导入的。

      等等....

      其中最中意的应该是使用WithData的  Db2ToOracle 吧 ,之前听说过,貌似见别人用过OracleToDb2,挺方便的。

      网上找了下。下了个最新的试用版,选择表直接导入,表和数据直接创建,挺好,只是试用版不支持大数据量啊。。。大哭,只是给你玩玩而已。。

      果断,找破解啊/找license啊      可惜没找到。把1.1---2.2 十来个版本都找了一遍。。木有。。

      

      那就买个license吧,以后会用到,也不贵。但,尼玛要不要这么坑。。。他们不支持中国卡支付。。。


       好吧,再找其他工具。。。

       之后找到了Oracle 提供的工具 SQL developer  ,看了下介绍觉得还行,可以自定义对照字段,自动导入,得了,就它吧,不想找了。。

在这里记录下使用体验吧

        DB2工具:DB2 V9.7、SqlDbx
      ORACLE 工具:ORACLE 11g、PL/SQL Developer
      数据库转换工具: SQL Developer
      JDK:转换工具需要,JDK1.8
      第三方JDBC驱动:db2java.jar、db2jcc.jar、db2jcc_license_cu.jar 

        工具使用挺简单的,就不记录了,记录下遇到的问题吧

1、迁移时,DB2会在ORACLE里面自动创建用户有多个,不需要的可以删除。
2、存储过程不会导入
3、函数不会自动转换
4、视图会自动转换,但是如果视图调用了函数,或者存储过程,导入时会失败
5、移植项目时,项目名称不什么的不要太长,太长会失败
6、数据转换时,注意恶心的DECIMAL,会自动转换成NUMBER。DB2 DECIMAL(15,2) 里面存的是无小数,但是转成NUMBER(15,2) 会带小数点
7、仔细看移植项目日志,发现有报错的根据错误内容处理


先在Oracle 创建了与DB2待导入相同的用户,并且用户名、密码都大写,手动创建创建了函数,再从DB2导入表、数据、视图,都没遇到问题。

手工创建了个需要的用户、创建存储过程,然后expdp导过来的用户,再impdp到新建的用户中。。删除原来的。。。OK,搞定。。测试数据。。

        

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值