楼主: vage

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

[复制链接]
论坛徽章:
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
31#
发表于 2012-11-11 21:27 | 只看该作者
LRUW中的脏块是有序的吗?如果是有序的,是不是和check point queue一样了?

使用道具 举报

回复
论坛徽章:
5
复活蛋
日期:2012-11-02 16:27:37灰彻蛋
日期:2013-01-27 17:08:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-05-27 15:29:10优秀写手
日期:2014-07-01 06:00:12
32#
发表于 2012-11-11 22:17 | 只看该作者
LRUW中的块,也是按照热度来连接的,和LRU一样。只不过LRUW中是脏块。chpt-q是安装第一次被脏时的RBA(Low Redo Byte Address)的大小来连接的,也就是按照LRBA地址连接的。

使用道具 举报

回复
论坛徽章:
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
33#
 楼主| 发表于 2012-11-12 00:10 | 只看该作者
digdeep126 发表于 2012-11-11 22:17
LRUW中的块,也是按照热度来连接的,和LRU一样。只不过LRUW中是脏块。chpt-q是安装第一次被脏时的RBA(Low R ...

LRUW中块的顺序,这个还真不知道,我的测试块在LRUW中停留时间太短,没办法进一步研究LRUW块中的顺序。
受教了,谢谢。

使用道具 举报

回复
论坛徽章:
5
复活蛋
日期:2012-11-02 16:27:37灰彻蛋
日期:2013-01-27 17:08:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-05-27 15:29:10优秀写手
日期:2014-07-01 06:00:12
34#
发表于 2012-11-12 13:44 | 只看该作者
vage 发表于 2012-11-12 00:10
LRUW中块的顺序,这个还真不知道,我的测试块在LRUW中停留时间太短,没办法进一步研究LRUW块中的顺序。
...

羞煞我也。我只是个刚开始转向Oracle的菜鸟。还要向各位大牛们多多学习。

使用道具 举报

回复
论坛徽章:
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
35#
 楼主| 发表于 2012-11-13 07:13 | 只看该作者
digdeep126 发表于 2012-11-12 13:44
羞煞我也。我只是个刚开始转向Oracle的菜鸟。还要向各位大牛们多多学习。


你是从哪里看到LRUW链表规则的啊

使用道具 举报

回复
论坛徽章:
5
复活蛋
日期:2012-11-02 16:27:37灰彻蛋
日期:2013-01-27 17:08:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-05-27 15:29:10优秀写手
日期:2014-07-01 06:00:12
36#
发表于 2012-11-13 10:33 | 只看该作者
vage 发表于 2012-11-13 07:13
你是从哪里看到LRUW链表规则的啊

我看的是相克军老师的视频。

他讲解的原因是:如果我们将热度高的脏块写入磁盘,那么它马上又会变脏,没有达到目的;而如果将热度低的脏块写入磁盘,那么它不会马上又变脏。所以Oracle应该是按照热度来写入脏块的,从热度低的先开始写。

我觉得很有道理。但我不知道如何验证!

使用道具 举报

回复
论坛徽章:
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
37#
 楼主| 发表于 2012-11-13 21:30 | 只看该作者
digdeep126 发表于 2012-11-13 10:33
我看的是相克军老师的视频。

他讲解的原因是:如果我们将热度高的脏块写入磁盘,那么它马上又会变脏, ...

也就是较少修改和频繁修改的脏块相比,较少修改的脏块会更快写入磁盘,是吧。
我可以帮你证明,只要将MTTR参数设为0,禁掉自调节检查点,再将检查点超时设为一个很大的置,在没有触发日志切换时,所有写脏块,都要通过LRUW进行了,然后使用DTrace,可以得到哪个脏块先被写进磁盘。只需要找两个脏块,一个频繁修改,一个只修改个1次,观察它们被写入磁盘的顺序即可,使用DTrace去证明这个,还是比较简单的。

使用道具 举报

回复
论坛徽章:
5
复活蛋
日期:2012-11-02 16:27:37灰彻蛋
日期:2013-01-27 17:08:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-05-27 15:29:10优秀写手
日期:2014-07-01 06:00:12
38#
发表于 2012-11-14 09:28 | 只看该作者
很期待。DTrace就是个筐,什么都可以往里装!

使用道具 举报

回复
论坛徽章:
0
39#
发表于 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
40#
发表于 2012-12-10 16:29 | 只看该作者
大神威武

使用道具 举报

回复

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

本版积分规则 发表回复

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