CR blocks 创建

CR blocks create

CR (consistent read) blocks  就是读一致性块

RDBATablespace relative database block address

RDBA是相对数据块地址,是数据字典(表空间及一些对象定义)所在块的地址。



这个状态值统计了数据库中cr block创建的计数。要理解这个状态值,首先要理解什么是CR BLOCK.

 

当我们想要查找某个数据的时候,发现这个数据块的版本比我们要查找的要新,那么我们只能从UNDO中去查找这个数据的前映像(PRE IMAGE),在回滚段中找到这个数据的前映像后,把前映像和CURRENT的数据块合并,就形成一个CR BLOCK,这样,通过查询CR BLOCK就可以得到一致性的数据了。这个CR BLOCK的生成不是在PGA里进行的,而是要在DB CACHE里申请一个数据块,然后生成CR BLOCK。这个CR BLOCK创建后,如果下一回还要访问这个版本的数据块,那么就不需要创建新的CR BLOCK,而直接可以使用以前创建的CR BLOCK了。每创建一个CR BLOCK,CR BLOCKS CREATED计数器就会增加1。

由于CR BLOCK和CURRENT BLOCK的RDBA都是相同的,因此它们会被放到相同的HASH链上。因此如果某些BLOCK的CR BLOCK的版本过多,也会导致BUFFER CACHE CHAINS闩锁竞争加剧。

如果在生成CR BLOCK的过程中,发现UNDO中的PRE IMAGE由于提交的时间比较长,已经被覆盖,那么,就会出现著名的ORA-1555。

如果单位时间内CR BLOCKS CREATED较大,那么应该检查系统的CPU资源是否出现瓶颈,另外要注意检查BUFFER CACHE相关的闩锁,是否存在竞争。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值