||
shared pool:基本结构是链。
buffer cache:同样是链。左边是链,右边是buffer
buffer cache:包含的数据有free data,clean data,dirty data刚被修改的数据还没同步到dbf。
CBC:cache buffer chain。以地址的方式将所有buffer cache上的buffer链接起来。链上放着buffer的地址,即buffer header。根据block地址找block时,需要用到CBC chain。
LRU:least recent used。对于在内存中但又不用的数据块(内存块)叫做LRU,Oracle会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。LRU将free和clean data按使用频率串起来,不常使用的放在冷端,常用的放在热端,即MRU端:most recent used。
那如果扫描过程没有在LRU List中找到free buffer怎么办?当然是从LRU List的LRU端开始清除缓冲区,如此一来就可以腾出新的空间了.LRUw:脏块也要按照脏的频率进行排序后链接,这样方便DB writer把不常更改的buffer脏数据写回到dbf,使得buffer成为clean的数据。
检查点队列:按照第一次脏的时间点链接起来。checkpoint queue
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。在队列这种数据结构中,最先插入在元素将是最先被删除;反之最后插入的元素将最后被删除,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。
栈的特点是后进先出,能在某一端插入和删除的特殊线性表。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-6-6 14:12
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社