楼主: hwayw

话题讨论:如何实现从ORACLE到DB2的无缝迁移

[复制链接]
论坛徽章:
1
2012新春纪念徽章
日期:2012-01-04 11:58:18
61#
发表于 2011-12-30 23:18 | 只看该作者
ak47cs 发表于 2011-12-30 14:41
无缝迁移有点夸大其词了吧,我在迁移的时候遇到了几个问题,写出来大家帮我解决一下。
视图创建的时候orde ...

从DB2 V9.7开始,DB2的Oracle兼容特性对Oracle的数据类型、SQL语法和PL/SQL的支持,确实为迁移Oracle数据库带来了很大方便。当然,这种兼容不是100%,官方的数据是99%。
1. 是的,比如在DB2中需要"create view emp800 as select * from (select name, bonus from employee order by bonus)"。对于这个问题,其实从view理论上的定义看,视图与表一样也是一种关系,也是说它里面的数据行是一个集合,当然无序。Oracle在8.1以前也是不支持create view order by。但是由于create view由full select语句定义,而一些程序员会用order by视图来简化最终SQL查询的书写,Oracle从实用的角度出发于是从8.1开始支持了这种语法。而IBM而一直秉承标准与理论基础,不愿改变。扯得太多了。
2. sys_guid,在DB2中试一试generate_unique() 生成13 bytes的raw data全局唯一标识。
3. dbms.lob: oracle为dbms_lob.read(vlob,   buffer_size,   offset,   buffer);
               在DB2中确实稍有区别,对CLOB和BLOB区别对待:
                 READ_BLOB(--lob_loc--,--amount--,--offset--,--buffer--);
                 READ_CLOB--(--lob_loc--,--amount--,--offset--,--buffer--)
4. 对于Oracle的raw(n),对应到DB2为 char(n) for bit data,   n < =254
                                                varchar(n) for bit data,  n < =32672
                                                 BLOB(n), n<2G
可以从这三种类型中根据实际需要选择一种。当然你直接用BLOB也可以,但对短数据不一定合适。
  

使用道具 举报

回复
论坛徽章:
1
2012新春纪念徽章
日期:2012-01-04 11:58:44
62#
发表于 2011-12-31 08:38 | 只看该作者
谢谢李玉明对我的问题的解释,非常感谢。视图我就是像你那样转换的。
我的pagesize 是设置为了 32K的,但是一行的大小不是这样计算的吗   802*40+802*(2+1)+6
只是sys_guid号称是全球唯一,而generated_unique 是依靠时间戳的,并不能保证全局唯一
非常感谢您对我的问题的解释,3,4对我有非常大的帮助,我在迁移oracle 的函数是遇到了这些问题。
我把整个系统迁移完之后会写一份文档,到时候欢迎各位大佬指导一二、、、

使用道具 举报

回复
论坛徽章:
1
2012新春纪念徽章
日期:2012-01-04 11:54:26
63#
发表于 2011-12-31 10:32 | 只看该作者
新年快乐,今天不讨论问题了!

使用道具 举报

回复
论坛徽章:
1
2012新春纪念徽章
日期:2012-01-04 11:58:18
64#
发表于 2011-12-31 14:11 | 只看该作者
ak47cs 发表于 2011-12-31 08:38
谢谢李玉明对我的问题的解释,非常感谢。视图我就是像你那样转换的。
我的pagesize 是设置为了 32K的,但是 ...

关于行大小,是的,如果列可以为null的话,需要为该列加 1 byte. 当然,32k的row limit只能是32 677,因为还有其他overhead。可参考:
http://publib.boulder.ibm.com/in ... doc%2Fr0000927.html
另外,generated_unique 是能保证在这个数据库实例访问内唯一的,即使DPF环境也是唯一,这其实能满足大部分需求了。


欢迎分享,正如王飞鹏说得那样,我们可以利用好itpub这个论坛,多分享,多交流。 我也迁移过Oracle到DB2上,你可以试一试IMDT工具。这个工具一句话讲不清楚,这在我们的书中有详细讲到,或者你在网上找一下。

使用道具 举报

回复
论坛徽章:
13
会员2007贡献徽章
日期:2007-09-26 18:42:10复活蛋
日期:2012-12-18 11:07:40ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15双黄蛋
日期:2012-01-16 14:07:24复活蛋
日期:2012-01-09 11:37:382012新春纪念徽章
日期:2012-01-04 11:53:292011新春纪念徽章
日期:2011-02-18 11:43:362010新春纪念徽章
日期:2010-03-01 11:19:072010新春纪念徽章
日期:2010-01-04 08:33:082009新春纪念徽章
日期:2009-01-04 14:52:28
65#
发表于 2011-12-31 15:34 | 只看该作者
难道DB2针对ORACLE做了兼容性处理?
难道IBM已经公开承认在数据库方面与ORACLE有差距?

使用道具 举报

回复
论坛徽章:
1
2012新春纪念徽章
日期:2012-01-04 11:58:18
66#
发表于 2011-12-31 19:08 | 只看该作者
MYERP_ABC 发表于 2011-12-31 15:34
难道DB2针对ORACLE做了兼容性处理?
难道IBM已经公开承认在数据库方面与ORACLE有差距?

我没有看出你说的这两点之间的必然因果逻辑!
事实上,有不少Oracle客户已经或者正准备迁移到DB2,比如Coca Cola,比如前面两个帖子中提到的。然而,由于两种数据库之间的种种不同(包括类型、SQL,PL/SQL等),这种迁移往往是一个巨大的工程,代价和风险往往难以预料或承受。我认为,IBM做兼容性处理的初衷便在于此:方便Oracle到DB2的迁移。但这种兼容性并不改变DB2的内核技术。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
67#
发表于 2011-12-31 19:56 | 只看该作者
迁移的原因是什么?哪些问题Oracle是不能解决的?

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
68#
发表于 2011-12-31 19:59 | 只看该作者
李玉明-421 发表于 2011-12-30 17:51
一般来说的,DB2的Express-C版本做为学习使用还是足够的。当然,这可能给人一种感觉:试用版、不纯粹,我只 ...

大数据最想要的分区、并行都没有

使用道具 举报

回复
论坛徽章:
10
2012新春纪念徽章
日期:2012-01-04 11:57:56马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14优秀写手
日期:2013-12-18 09:29:08版主1段
日期:2013-06-07 02:21:02现任管理团队成员
日期:2013-06-06 02:21:02ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00马上加薪
日期:2014-02-19 11:55:14
69#
发表于 2012-1-1 12:26 | 只看该作者
〇〇 发表于 2011-12-31 19:56
迁移的原因是什么?哪些问题Oracle是不能解决的?

其实,很多时候不完全是技术层面的原因。我相信Oracle和DB2走到今天,大部分客户的需求技术上都是可以满足的。至于另一部分商务上的原因,我抽空另文介绍。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
70#
发表于 2012-1-1 14:01 | 只看该作者
王飞鹏2011 发表于 2012-1-1 12:26
其实,很多时候不完全是技术层面的原因。我相信Oracle和DB2走到今天,大部分客户的需求技术上都是可以满足 ...

商务的原因就更不理智,建一个系统容易吗,收回成本吗
除非是领导好恶的原因

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表