查看: 106802|回复: 225

[精华] db2回滚处理问题

[复制链接]
论坛徽章:
9
会员2006贡献徽章
日期:2006-04-17 13:46:342010年世界杯参赛球队:葡萄牙
日期:2009-12-19 11:47:11紫蛋头
日期:2011-05-26 12:15:02复活蛋
日期:2011-08-31 12:12:27紫蛋头
日期:2012-04-14 21:48:20奥运会纪念徽章:游泳
日期:2012-07-11 19:00:41奥运会纪念徽章:垒球
日期:2012-10-10 11:44:39茶鸡蛋
日期:2012-11-29 16:59:04青年奥林匹克运动会-高尔夫
日期:2014-09-12 13:27:29
跳转到指定楼层
1#
发表于 2004-3-25 17:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人是DB2的初学者,和oracle,sybase,sql server作比较,发现在处理rollback时有些疑问,象oracle是有rollback segment,sybase和sql server有日志段,但在DB2中好象是找不到类似于oracle的rollback segment或者是sybase之类的日志段,是不是其恢复和rollback都是利用其日志文件来实现,因为好象其日志文件有primary和secondary之分,而且有整个日志文件大小限制,是不是这个大小限制也决定了其能rollback的程度,不知道理解是否正确,请指导。
论坛徽章:
0
2#
发表于 2004-3-25 21:01 | 只看该作者

你发现了DB2的一个大问题!

没错,DB2没有rollback  segment,它只有log.
回退时使用的是online log.

你再往深处想想,这样一来缺省情况下DB2就失去了读一致性,可怕吧.
当然可以通过调整参数来强行保证读一致性,但又失去了并发性.

个人认为这是DB2的一个大缺陷!

使用道具 举报

回复
论坛徽章:
9
会员2006贡献徽章
日期:2006-04-17 13:46:342010年世界杯参赛球队:葡萄牙
日期:2009-12-19 11:47:11紫蛋头
日期:2011-05-26 12:15:02复活蛋
日期:2011-08-31 12:12:27紫蛋头
日期:2012-04-14 21:48:20奥运会纪念徽章:游泳
日期:2012-07-11 19:00:41奥运会纪念徽章:垒球
日期:2012-10-10 11:44:39茶鸡蛋
日期:2012-11-29 16:59:04青年奥林匹克运动会-高尔夫
日期:2014-09-12 13:27:29
3#
 楼主| 发表于 2004-3-25 22:02 | 只看该作者

db2

呵呵,其实发现db2在某些方面还是不错的,特别是在大型处理方面,可以比较方便的把数据库分散到多个节点上,但这其实也存在一个问题,在Unix平台下,好象需要把实例的相关代码放在共享NFS磁盘上,这好象又增加了安全方面的考虑了

使用道具 举报

回复
论坛徽章:
21
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主1段
日期:2012-05-15 15:24:11管理团队成员
日期:2013-05-02 11:19:53马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:13:20
4#
发表于 2004-3-26 11:10 | 只看该作者
呵呵,第一,任何由于日志空间满或主动roll back的交易,都可以被完整rollback;
第二,log file和读一致性没有关系。

使用道具 举报

回复
论坛徽章:
0
5#
发表于 2004-3-26 15:04 | 只看该作者
没有ROLLBACK SEGMENT光靠LOG是可以rollback,但请你告诉我,DB2怎么实现同一时间点的读一致性?
IBM网站上自己承认DB2根本不支持读一致性,这样的数据库能用于关键业务吗?我很疑惑.

使用道具 举报

回复
论坛徽章:
21
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主1段
日期:2012-05-15 15:24:11管理团队成员
日期:2013-05-02 11:19:53马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:13:20
6#
发表于 2004-3-26 21:48 | 只看该作者
一致性通过isolation level解决

请告诉我ibm网址,我很有兴趣看一下。另外,如果你不相信db2可以用于关键业务,那你不要在工农中建交存钱

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33ITPUB元老
日期:2005-11-02 16:06:382010新春纪念徽章
日期:2010-03-01 11:21:02
7#
发表于 2004-3-28 12:27 | 只看该作者
这怎么可能~ 居然对db2的这个基本问题有疑问?wxz75看来没有db2的应用经验啊。

使用道具 举报

回复
论坛徽章:
0
8#
发表于 2004-3-28 21:11 | 只看该作者

这种问题我当然知道

一致性是可以通过isolation level解决,但这是以牺牲并发性为代价的.
DB2有四种隔离级别: 未提交读、游标稳定性(缺省)、读稳定性和可重复读. 未提交读的并发性最好,但是没有任何读一致性可言; 缺省的游标稳定性的并发性已经不如ORACLE(select 和update互相影响,ORACLE无此问题),而且读一致性也不能保证,其他两种级别应该可以保证读一致性,但并发性完全不可接受.
之所以银行可以用DB2有两个原因:
1.有些银行用的是390,机制不同
2.其他银行用UDB,但是银行和许多其他如电信等行业不同,对OLD IMAGE的要求不高,所以DB2的一致性和并发性的问题被掩盖.

这些问题我发现时也很疑惑,简直不敢相信.但我与IBM的资深工程师探讨过多次后,才一致共同确认DB2是存在此类缺陷.

这就是事情的经过,有些问题你光从DB2的角度看不出来,你如果能同时掌握DB2和ORACLE,就很容易看出来了.当然,以DB2的角度,ORACLE也不是没问题.

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:332011新春纪念徽章
日期:2011-02-18 11:43:33
9#
发表于 2004-3-29 08:35 | 只看该作者
在这个所谓的“问题”上,mssql 2000,sybase,db2都是一样的。他们都遵循sql92标准,只有ORACLE他独出心裁。呵呵。。。。而且上述3个都是NO SHARED DISK ,oracle 是 SHARED DISK。多说了一句。有利必有弊。体系不一样。看综合性能。所谓的缺点谁都有,可以通过其他手段弥补。

使用道具 举报

回复
论坛徽章:
9
会员2006贡献徽章
日期:2006-04-17 13:46:342010年世界杯参赛球队:葡萄牙
日期:2009-12-19 11:47:11紫蛋头
日期:2011-05-26 12:15:02复活蛋
日期:2011-08-31 12:12:27紫蛋头
日期:2012-04-14 21:48:20奥运会纪念徽章:游泳
日期:2012-07-11 19:00:41奥运会纪念徽章:垒球
日期:2012-10-10 11:44:39茶鸡蛋
日期:2012-11-29 16:59:04青年奥林匹克运动会-高尔夫
日期:2014-09-12 13:27:29
10#
 楼主| 发表于 2004-3-29 09:02 | 只看该作者

tks

谢谢各位的意见,让我对DB2的了解增加了一些,谢谢

使用道具 举报

回复

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

本版积分规则 发表回复

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