Oracle RAC关于多节点访问同一个数据的过程
一、说明
Oracle RAC 存在多个计算节点,但是使用的共享存储。那么多个节点共同访问同一个资源,怎么保证一致性。
白文的逻辑理解简述:
用户1访问rac1 ,通过rac1获取AA数据块后,会加上latch锁。用户2通过rac2访问AA数据块,在rac2的缓存中发现存在rac1正在使用,需要等待rac1使用完成,且释放锁后才能获取AA数据块并加上锁,再进行操作。
具体如图:
补充说明:实例1在获取数据块后,GCS会在GRD中记录下这次数据块的传输信息。也就是图中第二个流程的④步骤。