ITPUB??ì3
订阅ITPUB精粹播报,社区精彩内容不错过
ITPUB论坛 » Oracle数据库管理 » eygle新书一个疑问(Dirty list)


您有 1 条公共消息
  • 来自: 公共消息 标题: ITPUB国庆假期数 ... 内容: 全新编排的Oracle数据库课程,第一线数据库工程师传授亲身经验,完全摆 ...

    标题: eygle新书一个疑问(Dirty list)
    在线/呼叫 biti_rainy
    人生就是如此



    精华贴数 39
    个人空间 0
    技术积分 112866 (4)
    社区积分 12144 (174)
    注册日期 2001-12-12
    论坛徽章:56
    现任管理团队成员ITPUB元老年度论坛发贴之星年度论坛发贴之星2010数据库技术大会纪念徽章ITPUB北京2009年会纪念徽章
    ITPUB北京九华山庄2008年会纪念徽章管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章

    发表于 2006-8-15 11:54 


    QUOTE:
    最初由 fusnow 发布
    还是我应该这么理解?
    由checkpoint引起的dbwr是copy buffer to disk?------所以不用担心block会不会被踢出去?
    由free内存不够引起的dbwr是move buffer to disk,而且是不管三七二十一把所有dirty buffer都move到disk(踢出去)?


    buffer  内容 被写到磁盘,仅仅表示该 buffer 可以被 覆盖(其他进程可以pin住这个buffer 读block 进来),并不表示这个buffer 里面的数据就没了, 至于被踢走更是一个模糊的说法。


    __________________
    只看该作者    顶部
    离线 fusnow
    愚钝不开窍近无知初级会员


    精华贴数 1
    个人空间 0
    技术积分 6703 (264)
    社区积分 2077 (793)
    注册日期 2002-11-14
    论坛徽章:10
    管理团队成员会员2007贡献徽章2010新春纪念徽章   
          

    发表于 2006-8-15 12:44 


    QUOTE:
    最初由 eygle 发布


    漏掉了中间环节。

    所有Dirty Buffer,首先要被移动到Dirty List上去,然后从Dirty List上被写出。

    一旦Buffer变得Dirty,在被写出之前都不能被重用。

    也就是不存在Hot/Cold之说了。
    Hot/Cold是针对LRU List,并非Dirty List。


    反复看了eygle和biti的回复2遍终于。。。。。。

    。。。。。。明白了!谢谢。

    还有一个问题,在一个buffer被写出后,并且在这个buffer被其他的block占用之前,如果又有用户request这个已经被写出block,这时候block应该由于还在buffer cache里而不需要重新从disk读入,那这个buffer的touch是从1开始计算还是在以前的基础上累加?----------------------一个buffer 移到dirty list以后,原来touch值丢不丢?


    __________________
    眼高手低的典型代表
    我就是榆树临风,疯光旖旎,你死我活,活着要吃饭,饭可以乱吃话不可以乱说,说了也白说的无名老辈fusnow
    只看该作者    顶部
    离线 exitgogo
    南非蚂蚁


    精华贴数 1
    个人空间 0
    技术积分 3353 (569)
    社区积分 53 (6186)
    注册日期 2005-7-23
    论坛徽章:9
    会员2007贡献徽章授权会员生肖徽章2007版:鸡生肖徽章2007版:猴生肖徽章2007版:虎生肖徽章2007版:牛
    生肖徽章2007版:鼠ITPUB新首页上线纪念徽章数据库板块每日发贴之星   

    发表于 2006-8-15 14:15 
    关注!


    __________________
    Linux/Solaris+oracle,cluster

    ----------------------------------------------------------


    Email:dba.gao#gmail.com
    MSN:gaojf_888#hotmail.com

    我的个人站点:http://www.ixdba.net
    《循序渐进Linux》

    欢迎加入Unix/Linux+oracle讨论群:15872439
    只看该作者    顶部
    在线/呼叫 biti_rainy
    人生就是如此



    精华贴数 39
    个人空间 0
    技术积分 112866 (4)
    社区积分 12144 (174)
    注册日期 2001-12-12
    论坛徽章:56
    现任管理团队成员ITPUB元老年度论坛发贴之星年度论坛发贴之星2010数据库技术大会纪念徽章ITPUB北京2009年会纪念徽章
    ITPUB北京九华山庄2008年会纪念徽章管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章

    发表于 2006-8-15 14:23 


    QUOTE:
    最初由 fusnow 发布



    反复看了eygle和biti的回复2遍终于。。。。。。

    。。。。。。明白了!谢谢。

    还有一个问题,在一个buffer被写出后,并且在这个buffer被其他的block占用之前,如果又有用户request这个已经被写出block,这时候block应该由于还在buffer cache里而不需要重新从disk读入,那这个buffer的touch是从1开始计算还是在以前的基础上累加?----------------------一个buffer 移到dirty list以后,原来touch值丢不丢?


    touch 的计算规则比较复杂,足够长编大论。

    touch count 在一些时机下也会清0。  buffer一旦进入  dirty  list ,touch count 实际上也失去了意义。 如果再回归到 lru  list ,则一定不会 保留着原来在 lru list上时候的touch count。


    __________________
    只看该作者    顶部
    离线 fusnow
    愚钝不开窍近无知初级会员


    精华贴数 1
    个人空间 0
    技术积分 6703 (264)
    社区积分 2077 (793)
    注册日期 2002-11-14
    论坛徽章:10
    管理团队成员会员2007贡献徽章2010新春纪念徽章   
          

    发表于 2006-8-15 14:36 


    QUOTE:
    最初由 biti_rainy 发布


    touch 的计算规则比较复杂,足够长编大论。

    touch count 在一些时机下也会清0。  buffer一旦进入  dirty  list ,touch count 实际上也失去了意义。 如果再回归到 lru  list ,则一定不会 保留着原来在 lru list上时候的touch count。


    谢谢
    看来死过一回再投胎转世回来,即使有前世的记忆也还是从一岁开始阿


    __________________
    眼高手低的典型代表
    我就是榆树临风,疯光旖旎,你死我活,活着要吃饭,饭可以乱吃话不可以乱说,说了也白说的无名老辈fusnow
    只看该作者    顶部
    离线 zouzhiyou
    不会游泳的鱼



    精华贴数 0
    个人空间 0
    技术积分 2798 (721)
    社区积分 96 (4611)
    注册日期 2005-9-9
    论坛徽章:2
    2010新春纪念徽章     
          

    发表于 2006-8-15 14:40 
    学习!


    __________________
    别人笑我太疯狂,我笑他人看不穿
    只看该作者    顶部
    离线 johnson2002
    一般会员



    精华贴数 0
    个人空间 0
    技术积分 340 (7091)
    社区积分 9 (14643)
    注册日期 2003-11-3
    论坛徽章:1
    授权会员     
          

    发表于 2006-8-26 21:40 
    LRU LIST是啥意思?

    我以前一直只知道data buffer 里有个dirty  list ,dirty  list是按照LRU算法来写到datafile里的,没想到还有LRU LIST,再讲讲LRU list吧!

    QUOTE:
    最初由 biti_rainy 发布
    hot  or  cold 的概念是针对于  LRU list 来说,而不是 dirty  list




    只看该作者    顶部
    离线 bq_wang
    飞不动了,当爸爸了!


    精华贴数 22
    个人空间 10103
    技术积分 22257 (58)
    社区积分 51397 (23)
    注册日期 2002-2-7
    论坛徽章:100
    现任管理团队成员     
          

    发表于 2006-8-26 22:12 
    刚买了这本书,好好学习一下再发问


    __________________


    -------------------------------
    鸿图霸业谈笑中,不胜人生一场醉。厌倦江湖萌退意,不辞长作天涯人。
    -------------------------------
    MSN:baoqiangwang@hotmail.com
    Mail:windboy@vip.sina.com  QQ:326444779
    只看该作者    顶部
    离线 adamyang
    中级会员



    精华贴数 0
    个人空间 0
    技术积分 711 (3378)
    社区积分 6 (18030)
    注册日期 2004-7-2
    论坛徽章:1
    授权会员     
          

    发表于 2006-10-14 11:22 


    QUOTE:
    最初由 eygle 发布


    漏掉了中间环节。

    所有Dirty Buffer,首先要被移动到Dirty List上去,然后从Dirty List上被写出。

    一旦Buffer变得Dirty,在被写出之前都不能被重用。

    也就是不存在Hot/Cold之说了。
    Hot/Cold是针对LRU List,并非Dirty List。


    有一种情况,当server process在LRU list 上搜索free block时达到一个
    search threshold。此时会通知DBWR将dirty block直接从LRU list 上写出,而不用再拷贝到Dirty list中了


    __________________
    努力必有痕迹
    只看该作者    顶部
    离线 rchsh
    高级会员


    精华贴数 0
    个人空间 0
    技术积分 10615 (155)
    社区积分 325 (2361)
    注册日期 2001-10-25
    论坛徽章:26
    ITPUB元老会员2006贡献徽章授权会员生肖徽章2007版:鸡生肖徽章2007版:鼠生肖徽章:狗
    生肖徽章:狗生肖徽章:兔生肖徽章:兔生肖徽章:兔生肖徽章:兔生肖徽章:兔

    发表于 2006-11-3 11:08 


    QUOTE:
    最初由 adamyang 发布


    有一种情况,当server process在LRU list 上搜索free block时达到一个
    search threshold。此时会通知DBWR将dirty block直接从LRU list 上写出,而不用再拷贝到Dirty list中了


    这种说法正确吗?所有的dirty buffer一旦被dirty后 首先会被写到dirty list 之后,才可以被dbwr 写到数据文件里面,可以直接从LRU 里面写吗?


    还有一个问题就是LRU list 上面的buffer 是否都是free的,如果一个process select 数据需要free buffer 的时候,他寻找free buffer 的原则是什么?这个process 是不是先在lru list 上面根据touch count的大小寻找,那些touch count 越小的块最有可能被使用,还是根据其他的原则呢?

    在 lru list 上面寻找多久,按什么原则才去写dirty list 中的dirty buffer 以便获得free buffer 呢


    __________________
    删除昨天的烦劳 确定今天的快乐设置明天的幸福 取消世间的仇恨复制醉人的风景 打印美丽的笑容
    只看该作者    顶部
    相关内容


    CopyRight 1999-2006 itpub.net All Right Reserved.
    北京皓辰网域网络信息技术有限公司. 版权所有
    网站律师 隐私政策 知识产权声明
    广播电视节目制作经营许可证:编号(京)字第1149号
    京ICP证:060528号 联系我们

    北京市公安局海淀分局网监中心备案编号:1101082001