Oracle学习之--BufferCache深入解析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle学习之--BufferCache深入解析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2548字,纯文字阅读大概需要4分钟。
内容图文
![Oracle学习之--BufferCache深入解析](/upload/InfoBanner/zyjiaocheng/554/01438a80acfe4a32825ccbc42e811bd0.jpg)
Oracle 学习之--Buffer Cache深入解析 服务器进程和数据库缓冲区高速缓存: 当服务器需要块时,需要按系列步骤读取块: 1、首
Oracle 学习之--Buffer Cache深入解析
服务器进程和数据库缓冲区高速缓存:
当服务器需要块时,需要按系列步骤读取块:
1、首先,服务器使用散列函数检查是否可以从缓冲区高速缓存中获得所需要的块。如果找到缓冲区,则将它移动到LRU列表中远离LRU末尾的另一端。这是逻辑读取,因为没有发生实际的I/O。如果在缓冲区高速缓存中找不到缓冲区,则服务器进程(Server)必须从数据文件中读取。
2、对数据文件进行读取之前,服务器进程将搜索LRU列表,以获得空闲的缓冲区。所有被服务器进程修改的缓冲区都放在检查点队列中。以便在检查点期间写出到磁盘。
3、如果检查点的大小超出了其阈值,服务器会发出信号通知DBWn刷新数据缓冲区高速缓存中的脏数据缓冲区。如果服务器在搜索阈值内找不到空闲的缓冲区,将发出信号通知DBWn进行刷新。
4、找到空闲缓冲区后,,服务器将块从数据文件中读入到数据库缓冲区高速缓存中过的空闲缓冲区。Oracle服务器进程把缓冲区移动到LRU列表中远离LRU末尾的位置。
5、如果对块的读取不一致,服务器会由当前块和回滚段重建块的早期版本。
Oracle 如何强制刷新Buffer Cache
Buffer cache和page cache的区别
Linux中Buffer cache性能问题一探究竟
Oracle BUFFER CACHE研究
Oracle Buffer Cache优化思路 与
DBWn进程和数据库缓冲区高速缓存:
DBWn将脏数据块写入数据文件,以确保服务器有空闲块,并以此来管理缓冲区高速缓存。DBWn响应实例中不同的事件:
1、Checkpoint Queue Exceeds Threshold:如果服务器进程发现检查点队列的大小超出其阈值,就会发出信号通知DBWn进行刷新。DBWn则将检查点队列中的缓冲区全部写出。
当检查点队列25%满就会触发DBWn的写操作:
SQL> desc x$kvit
Name Null? Type
----------------------------------------- -------- ----------------------------
ADDR RAW(8)
INDX NUMBER
INST_ID NUMBER
KVITVAL NUMBER
KVITTAG VARCHAR2(64)
KVITDSC VARCHAR2(64)
SQL> col KVITTAG for a20
SQL> col KVITDSC for a50
SQL> set linesize 120
SQL> select KVITTAG,KVITVAL,KVITDSC,INST_ID from x$kvit where KVITTAG='kcbldq';
KVITTAG KVITVAL KVITDSC INST_ID
-------------------- ---------- -------------------------------------------------- ------
kcbldq 25 large dirty queue if kcbclw reaches this 1
更多详情见请继续阅读下一页的精彩内容:
内容总结
以上是互联网集市为您收集整理的Oracle学习之--BufferCache深入解析全部内容,希望文章能够帮你解决Oracle学习之--BufferCache深入解析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。