Oracle RAC Cache Fusion 系列十三:PCM资源访问

本文深入解析Oracle RAC的Cache Fusion机制,包括从磁盘和内存读取块、更新缓存块、并发修改与提交、检查点写入及主实例崩溃后的处理等关键步骤,帮助理解Oracle集群数据库的内部工作原理。
摘要由CSDN通过智能技术生成

前面的章节我们介绍了Oracle为实现Cache Fusion引入的各种改变和新的概念。本节我们从RAC环境中可能发生的场景对Oracle Cache Fusion的实现进行更近一步的探讨。

| 从磁盘中读一个块

实例C希望读取块,这时需要通过主实例D(块的master)获得共享模式锁。

1.实例C的FG(Foreground Process)进程通过向实例D的LMS进程发送数据块(需要共享锁)请求来获得块的访问权限。

2.实例D发现块从未被读取到集群中的任何实例的缓冲区缓存中,并且也未被锁定。实例D的LMS进程将PR(x$kjbl的kjblgrant列显示KJUSERPR。)锁授予实例C,授予的锁为sl0(Shared-Local-noPI)。

3.实例C将块从共享磁盘读取到它的缓冲区缓存中(buffer cache),假设这个时候块的SCN为1000。

4.实例C在共享模式下有块,最后锁管理器更新资源目录(GRD)。

注:这时如果用10046跟踪会话那么你会发现等待事件如下:

WAIT #19446741324875049632: nam='gc cr grant 2-way' ela= 49 p1=7 p2=6867 p3=1 obj#=3214

   tim=4597940025

WAIT #19446741324875049632: nam='db file sequential read' ela= 56 file#=7 block#=6867 blocks=1 obj#=3214 tim=4597941129

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值