老师的其他视频,大家看下
第一个问题:oracle两个会话能同时修改一个块上的不同行吗?我说的是同时,我的过程:先获得cbc latch,找到buffer,然后获得buffer pin 锁住块,释放cbc latch,然后修改buffer,之后获得cbc latch ,释放buffer pin ,释放cbc latch,因为latch是排他的,所以同一时间只有一个会话能获得latch,所以另一个会话就会等待,也就是热点块。所以两个会话应该不能同时修改一个块吧?不仅不能同时修改,也不能同时读一个块,在内存中,同一时间的话写会阻塞读,哪位大侠能帮我解释下,
第二个问题:
为什么更新一行数据,另一个会话读时会产生2个CR块?
cbc latch互斥,但是pin不一定互斥吧。 cbc latch获得不了,就不能获得buffer pin 吧? 第二个问题为什么有2个cr块呢?
页:
[1]