暂无图片
返回数说广场
nirvana
2023-12-28 敬十八罗汉之六过江罗汉跋陀罗尊者
LRU list也叫replacement list,这就是大家常说的LRU链,用于DB CACHE的老化淘汰和CACHE块的重用。 LRU-AUX链是LRU链的一个子链。从LRU-AUX头开始的BLOCK是被确认为CLEAR的,其来源包括DBWR已经写回文件的数据块和UNPIN的干净块。前台进程查找空闲BUFFER的时候,就是首先在LRU-AUX中查找,因为从这里找到的BUFFER一般都是可用的。LRU-AUX存储的是刚刚被回写数据,并且已经释放的DB CACHE,其主要作用是批量将一个可用链表链入LRU LIST,从而减少对LRU LIST链表的性能影响。 LRU-W list就是我们常说的脏数据链,对于LRU-W链,也存在一个AUX链LRUW-AUX。引入AUX链的目的是为了提高LRU-W的效率,支持异步DBWR作业。前台进程在查找空闲CACHE的时候,如果扫描到了一个脏块,就会主动将脏块移到LRU-W LIST上,从而避免这个脏块被多次无效的扫描到。 LRU-XO list也被称为重用对象链,这个链主要是为了对TRUNCATE,DROP等操作的对象相关的BUFFER进行CHECKPOINT操作。当reuse object cross instance call事件发生的时候,CKPT会将这个对象的脏数据块放入LRU-XO链,然后由DBWR将这些数据块写盘。当CKPT发现这个链已经空的时候,本次CHECKPOINT操作结束。 LRU-XR主要针对表空间这类对象。LRU-XR list也被称为Reuse range链,当reuse range cross instance call事件发生的时候,CKPT搜索这些BUFFER,把脏数据块放入LRU-XR链,然后由DBWR将这些数据写盘。当CKPT发现这个链已经空的时候,本次CHECKPOINT结束。如果我们要将某个表空间OFFLINE或者将某个表空间设置为READ ONLY的时候,这个时候就会产生ruse range cross instance call事件,因为要安全的完成这些操作,必须要将表空间上的脏数据全部写入磁盘。
0
暂无图片 1
85
分享

评论

热门数说