ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 你所不知道的LATCH

你所不知道的LATCH

原创 Linux操作系统 作者:wei-xh 时间:2013-07-04 10:01:21 0 删除 编辑
你所不知道的LATCH:你也许知道对于LATCH的获得和释放时间都是极短的,但是,对于LATCH所保护的资源的锁定时间,可能是比较长的(几MS,甚至几分钟,甚至。。更长)。redo writing latch的作用是获得后,修改redo写标志位,比如把0改为1,代表lgwr正在写,然后通知lgwr去写日志,这样第一个获得这个latch的会话,它获得了通知lgwr去写日志的权利,也就是这个权利被这个会话独占拥有了,其他会话所能做的仅仅只能是获得redo writing latch,检查一下写标志位,发现LGWR正在写,然后继续等待。而LGWR写日志的时间往往要2-10MS,这个期间这个redo writing latch所保护的资源:“通知lgwr写”,一直被锁定。再举个例子:10GR2后出现的private redo,这些内存都被分成多个private redo pool,在shared_pool里分配这些内存,每一个pool都被一个redo allocation latch保护,一个会话开始事物的时候,会去申请一个redo allocation latch,标记一下它保护的某某pool被使用,然后释放latch,此后,这个事务就一直可以用这个pool了,不需要再申请redo allocation latch了。也就是说,假如这个事务持续了1个小时、N天,那么这个redo allocation latch所保护的资源:这个pool的使用权,就一直不能被其他会话使用。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-765448/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE组成员,DBGeeK用户组发起人。曾在DTCC、ORACLE技术嘉年华、Gdevops等公开场合做过数据库技术专题分享,2017年应Oracle邀请在世界最大的数据库会议OOW上做技术分享。组织翻译了《拨云见日,解密Oracle ASM内核》一书。

注册时间:2009-07-04

  • 博文量
    422
  • 访问量
    2301849