你所不知道的LATCH

你所不知道的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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22034023/viewspace-765448/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值