老师的其他视频,大家看下

第一个问题:
oracle两个会话能同时修改一个块上的不同行吗?我说的是同时,我的过程:先获得cbc latch,找到buffer,然后获得buffer pin 锁住块,释放cbc latch,然后修改buffer,之后获得cbc latch ,释放buffer pin ,释放cbc latch,因为latch是排他的,所以同一时间只有一个会话能获得latch,所以另一个会话就会等待,也就是热点块。所以两个会话应该不能同时修改一个块吧?不仅不能同时修改,也不能同时读一个块,在内存中,同一时间的话写会阻塞读,哪位大侠能帮我解释下,
第二个问题:
为什么更新一行数据,另一个会话读时会产生2个CR块?
标签: 暂无标签
qiuse110

写了 2 篇文章,拥有财富 7,被 1 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

P4 | 发表于 2013-5-8 22:11:12
cbc latch互斥,但是pin不一定互斥吧。
回复

使用道具

P3 | 发表于 2013-5-9 10:42:39
cbc latch获得不了,就不能获得buffer pin 吧? 第二个问题为什么有2个cr块呢?
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈