ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
更多
查看: 2219|回复: 10

关于BLK_LOG_DSK_FUL与FORCE APPLICATION的问题 [复制链接]

注册会员

资深会员

精华贴数
2
技术积分
2112
社区积分
11
注册时间
2002-4-2
论坛徽章:
2
会员2007贡献徽章
日期:2007-09-26 18:42:10授权会员
日期:2007-10-23 20:58:17
发表于 2007-3-28 21:41:22 |显示全部楼层
小弟不是来拉人的,请各位版主不要见怪。只是感觉这个话题挺有意思,而国内DB2的高人基本都只在ITPUB出没,LOVEUNIX很少有高手光顾,所以想请各位看看这个问题。

问题简单的说,就是:
在设置BLK_LOG_DSK_FUL=YES后,遇到LOG FULL的情况,如果在EXPAND FS前先做了FORCE APPLICATION,是不是一定会引起DB CRASH?道理何在?

详细的,请看这里:
http://www.loveunix.net/discuz/v ... &extra=page%3D1

版主

风往北吹

精华贴数
14
技术积分
9700
社区积分
1569
注册时间
2001-12-26
论坛徽章:
53
2012新春纪念徽章
日期:2012-01-04 11:49:54祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:猴
日期:2009-07-10 09:43:54生肖徽章2007版:牛
日期:2009-07-03 08:01:10生肖徽章2007版:龙
日期:2009-06-09 11:03:40生肖徽章2007版:猪
日期:2009-04-08 08:14:53生肖徽章2007版:虎
日期:2009-03-02 15:42:53生肖徽章2007版:龙
日期:2009-02-19 12:46:56生肖徽章2007版:鸡
日期:2009-01-15 14:43:13生肖徽章2007版:龙
日期:2008-12-26 16:59:512008北京奥运纪念徽章:举重
日期:2008-12-03 11:22:072008北京奥运纪念徽章:羽毛球
日期:2008-12-03 11:20:54
发表于 2007-3-29 07:53:35 |显示全部楼层
BLK_LOG_DSK_FUL=YES 日志满得时候application还在 这个时候force 造成数据库不一致 有可能应用做回滚.但是不一定crash吧我有一次在分区数据库上面做类似得操作,是一个数据仓库系统 做了很长时间得回滚 实在等不了,就db2_kill了
呵呵

使用道具 举报

注册会员

资深会员

精华贴数
2
技术积分
2112
社区积分
11
注册时间
2002-4-2
论坛徽章:
2
会员2007贡献徽章
日期:2007-09-26 18:42:10授权会员
日期:2007-10-23 20:58:17
发表于 2007-3-29 08:56:25 |显示全部楼层
在回滚的时候做了db2_kill?那不是造成数据库不一致了吗?

使用道具 举报

注册会员

中级会员

精华贴数
0
技术积分
413
社区积分
0
注册时间
2006-12-19
论坛徽章:
0
发表于 2007-3-29 10:16:46 |显示全部楼层
1 应该不会,如果 CRASH 了,应该查查为什么。物理层面修改文件了? DB2 bug?

2 重要的是,BLK_LOG_DSK_FUL设置 是针对日志空间不够,而不是 LOG FULL 的(除非logsecond设了-1)。所以,原帖的命题容易让初学者糊涂。

3 db2kill 不推荐正常情况下使用,但是造成不一致的比例没有那么高。(当然,生产上慎用)

使用道具 举报

注册会员

资深会员

精华贴数
2
技术积分
2112
社区积分
11
注册时间
2002-4-2
论坛徽章:
2
会员2007贡献徽章
日期:2007-09-26 18:42:10授权会员
日期:2007-10-23 20:58:17
发表于 2007-3-29 11:08:00 |显示全部楼层
关于2,BLK_LOG_DSK_FUL设置应该是针对所有LOG FULL 的情况,而不是只针对日志空间不够这一种情况吧?


关于3,原先做的是DELETE操作,回滚的时候肯定正在将已删的数据补回来,这时候DB2KILL了,数据库肯定就不一致了吧?

使用道具 举报

注册会员

中级会员

精华贴数
0
技术积分
413
社区积分
0
注册时间
2006-12-19
论坛徽章:
0
发表于 2007-3-29 11:10:50 |显示全部楼层
关于2,BLK_LOG_DSK_FUL设置应该是针对所有LOG FULL 的情况,而不是只针对日志空间不够这一种情况吧?

->你看 它是 DiSK_FULL,因此只是空间不够

关于3,原先做的是DELETE操作,回滚的时候肯定正在将已删的数据补回来,这时候DB2KILL了,数据库肯定就不一致了吧?

->不会,正常情况下,日志没有apply完,还会留在日志中,restart database可以重新恢复。

使用道具 举报

注册会员

资深会员

精华贴数
2
技术积分
2112
社区积分
11
注册时间
2002-4-2
论坛徽章:
2
会员2007贡献徽章
日期:2007-09-26 18:42:10授权会员
日期:2007-10-23 20:58:17
发表于 2007-3-29 14:58:43 |显示全部楼层
最初由 Zoroaster 发布
[B]关于2,BLK_LOG_DSK_FUL设置应该是针对所有LOG FULL 的情况,而不是只针对日志空间不够这一种情况吧?

->你看 它是 DiSK_FULL,因此只是空间不够

关于3,原先做的是DELETE操作,回滚的时候肯定正在将已删的数据补回来,这时候DB2KILL了,数据库肯定就不一致了吧?

->不会,正常情况下,日志没有apply完,还会留在日志中,restart database可以重新恢复。 [/B]


关于2,刚刚做了实验,确实是您说的这样。
关于3,DB要做CRASH RECOVER的,时间会比ROLLBACK短很多吗?

使用道具 举报

注册会员

中级会员

精华贴数
0
技术积分
413
社区积分
0
注册时间
2006-12-19
论坛徽章:
0
发表于 2007-3-29 15:46:30 |显示全部楼层
关于3,DB要做CRASH RECOVER的,时间会比ROLLBACK短很多吗?

-> crash recovery 是并行处理机制,的确快。但一般我不建议为了一个回滚而这么搞,除非是那种很大的操作,估计回滚时间很长的,而你对 DB2 重启这操作很熟悉。

使用道具 举报

注册会员

资深会员

精华贴数
2
技术积分
2112
社区积分
11
注册时间
2002-4-2
论坛徽章:
2
会员2007贡献徽章
日期:2007-09-26 18:42:10授权会员
日期:2007-10-23 20:58:17
发表于 2007-3-29 17:02:17 |显示全部楼层
非常感谢

使用道具 举报

版主

风往北吹

精华贴数
14
技术积分
9700
社区积分
1569
注册时间
2001-12-26
论坛徽章:
53
2012新春纪念徽章
日期:2012-01-04 11:49:54祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:猴
日期:2009-07-10 09:43:54生肖徽章2007版:牛
日期:2009-07-03 08:01:10生肖徽章2007版:龙
日期:2009-06-09 11:03:40生肖徽章2007版:猪
日期:2009-04-08 08:14:53生肖徽章2007版:虎
日期:2009-03-02 15:42:53生肖徽章2007版:龙
日期:2009-02-19 12:46:56生肖徽章2007版:鸡
日期:2009-01-15 14:43:13生肖徽章2007版:龙
日期:2008-12-26 16:59:512008北京奥运纪念徽章:举重
日期:2008-12-03 11:22:072008北京奥运纪念徽章:羽毛球
日期:2008-12-03 11:20:54
发表于 2007-3-30 07:20:03 |显示全部楼层
db2_kill后 再restart 可以在db2diagl里面看到crash recovery的信息 重新apply log这个是必然的

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部