作者:豬仔珊珊_114 | 来源:互联网 | 2023-09-15 13:13
第5章BufferCache与SharedPool原理5.1BufferCache原理BufferCache是OracleSGA中的一个重要部分,通常的数据访问和修改都需要通过Buff
第5章 Buffer Cache与Shared Pool原理
5.1 Buffer Cache原理
Buffer Cache是Oracle SGA中的一个重要部分,通常的数据访问和修改都需要通过Buffer Cache来完成。当一个进程需要访问数据时,首先需要确定数据在内存中是否存在,如果数据在Buffer中存在,则需要根据数据的状态来判断是否可以直接访问还是需要构造一致性读取;如果数据在Buffer中不存在,则需要Buffer Cache中寻找最后的空间以装载需要的数据,如果Buffer Cache中找不到足够的内存空间,则需要出发DBWR去写出脏数据,释放Buffer空间。
5.1.1 LRU与Dirty List
LRU List 用于维护内存中的Buffer,按照LRU算法进行管理,数据库初始化时,所有的Buffer都被Hash到LRU List上管理。当需要从数据文件上读取数据时,首先要在LRU List上寻找free的Buffer,然后读取数据到Buffer Cache中;当数据被修改之后,状态变为Dirty,就可以被移动到Dirty List,Dirty List上的都是候选的可以被DBWR写出到数据文件的Buffer,一个Buffer要么在LRU List上,要么在Dirty List上存在,不能同时存在于多个list上。
Buffer Cache 原理图解:
-->
阅读(509) | 评论(0) | 转发(0) |
0 上一篇:深入浅出Oracle:DBA入门、进阶与诊断案例(读书笔记1)
下一篇:MongoDB教程(笔记)
相关热门文章
- Oracle日常性能查看
- Oracle 左连接、右连接、全外...
- Linux中查看CPU信息
- 使用 RMAN 同步数据库
- LoadRunner 测试Oracle数据库...
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议