楼主: vage

[精华] 揭密buffer Cache中的链表补遗

[复制链接]
论坛徽章:
0
41#
发表于 2012-11-30 11:38 | 只看该作者
本帖最后由 heelin 于 2012-11-30 11:39 编辑

从LRUW写是和CKPT-Q完全不同的思路,要解决的问题也不一样。
从LRUW写是这样的:
1、脏块从辅助LRU和LRU的冷端尾移到LRUW
2、从LRUW写到磁盘,再放入辅助LRU。
被写脏块的顺序,和进程在LRU找可用块的顺序一样的。

这样保证这些被写的块,可以马上被进程使用。


请问是在哪个地方看到dbwr会从LRUW写数据?


在控制文件中会记录lrba,如果从LRUW写数据,请问在控制文件中如何记录lrba呢?

使用道具 举报

回复
论坛徽章:
0
42#
发表于 2012-12-10 16:29 | 只看该作者
大神威武

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
43#
发表于 2012-12-13 12:56 | 只看该作者
vage大师的作品都是网上找不到的,必属珍品,顶!收藏学习!

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:122010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:192015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24暖羊羊
日期:2015-05-13 18:24:182015年新春福章
日期:2015-05-30 17:02:05
44#
发表于 2013-1-30 19:57 | 只看该作者
强大

使用道具 举报

回复
论坛徽章:
0
45#
发表于 2013-4-24 15:12

论坛徽章:
5
2010新春纪念徽章
日期:2010-03-01 11:21:01ITPUB9周年纪念徽章
日期:2010-10-08 09:31:22优秀写手
日期:2014-07-01 06:00:12懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18
46#
发表于 2014-5-15 10:52 | 只看该作者
重新回过头来看,结论有点问题.从 check point queue写脏块,块是不会放入辅助LRU的。

"从CKPT-Q写完成后,虽然不是从LURW写的,块应该仍会被放入辅助LRU,这个就是猜想了"

使用道具 举报

回复
论坛徽章:
70
夏利
日期:2013-09-29 21:02:15天蝎座
日期:2016-03-08 22:25:51嫦娥
日期:2014-03-04 16:46:45ITPUB年度最佳技术原创精华奖
日期:2014-03-04 16:19:29马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:11
47#
 楼主| 发表于 2014-5-16 07:26 | 只看该作者
本帖最后由 vage 于 2014-5-16 07:28 编辑
logo111 发表于 2014-5-15 10:52
重新回过头来看,结论有点问题.从 check point queue写脏块,块是不会放入辅助LRU的。

"从CKPT-Q写完成后 ...


这个很容易验证的。
搞一个脏块,让增点检查点触发,块被DBWR写后,然后检查  X$BH中的LRU_FLAG列即可。
从LRUW写会被放入辅助LRU也容易验证。
搞一个脏块,修改参数,让增量检查点不会触发,大量进行物理读,等块被放入LRUW、然后被DBWR写后,检查 X$BH中的LRU_FLAG列即可。

猜想是需要验证的。
验证猜想的过程,其实比去学习内部原理更加重要。
如果上面两步你能验证出来,你就熟悉了控制检查点的方式、x$BH视图的一部分列、大小表全表扫描的注意事项或强制走Index的Hints。
这比简单得到一个结果强多了。

如果你可以自己去设计一个测试,去验证此猜想,你还想全面理解LRU工作方式、检查点队列工作方式。这将学到更多东西。

使用道具 举报

回复
论坛徽章:
5
2010新春纪念徽章
日期:2010-03-01 11:21:01ITPUB9周年纪念徽章
日期:2010-10-08 09:31:22优秀写手
日期:2014-07-01 06:00:12懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18
48#
发表于 2014-5-16 16:33 | 只看该作者
vage 发表于 2014-5-16 07:26
这个很容易验证的。
搞一个脏块,让增点检查点触发,块被DBWR写后,然后检查  X$BH中的LRU_FLAG列即可 ...

说得很对,单单要一个结论,没有太大意义。还是研究的过程更有意义。

使用道具 举报

回复

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

本版积分规则 发表回复

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