oracle 成长历程-3.4.2 Keep pool\Recycle poo的逻辑结构

本文探讨了Oracle数据库中KEEP池的不同理解和解释。总结了三种不同版本的观点:一是当KEEP池满时新块会被放入DEFAULT池;二是新块会替换最久未使用的块;三是新块会覆盖最早装入的块。通过实验验证了第三种观点。

3.4.2   Keep pool Recycle pool 的逻辑结构

备注:本章有待修正,先发上来,资料为其他人整理的,我还没有搞清楚

见到过3种版本的说法:

版本一:本帖中neilkooo说的

由于Keep中的块是不会被aged out的,当写满的时候,如果再有新块要装到keep池中,就会把他装到default池中!

版本二:

(1)     来自Oracle文档Oracle® Database Performance Tuning Guide 10g Release 2 (10.2) Part Number B14211-03

 

(2)     7.2.4

Each buffer pool uses the same LRU replacement policy (for example, if the KEEP pool is not large enough to store all of the segments allocated to it, then the oldest blocks age out of the cache).

来自metalink  "BUFFER_POOL KEEP LRU usuage"

The buffer pool LRU algorithm operates independently on each pool. Therefore if you fill up your keep cache and additional blocks need to be allocated, then LRU blocks will be aged out.

对此我的理解是新块会把最久使用过(LRU)的块替换掉。

版本三:来自yangtingkun的博文:KEEP池的CACHE特点(二)

KEEP池没有采用这种算法,KEEP池其实是一块可用内存采用类似循环的算法进行访问。如果KEEP池里面还有剩余空间,则新的数据会首先使用剩余的空间,如果KEEP池已经存储满了,Oracle会从头开始重用KEEP池。

对此我的理解是新块会把最久装入的块替换掉。虽然跟Oracle文档相左,但实验是很有说服力的。

fj.png未命名.JPG

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/347643/viewspace-620117/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/347643/viewspace-620117/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值