【体系结构】buffer cache的个人理解
1. Buffer cache
数据库缓冲区,是 Oracle 内存结构 SGA 中的一部分。
2. Buffer cache 意义
(1) 缓存 dbf 文件。
Buffer 是存在于内存中, dbf 是存在磁盘中。在读取磁盘中数据时, dbf 数据会首先送到 buffer cache 中,以达到缓存的作用。
(2) 构造 cr 块
在一个会话中,用户删除掉一条数据,但是没有提交。此时改变前的数据会放在 undo 段中。当另一个会话读取同一个块的数据时,发现块内数据被删除了,这时在 buffer cache 中会产生一个新的块,这个新的块就是旧的块产生的,被删除的那条数据由 undo 来补充。这个新的块就叫 cr 块。
所以一条会话删除一条数据没有提交时,另一个会话会看到被删除之前的数据。
3. 数据库写进程( DBWn )
当 buffer cache 中的块被修改之后,这个被修改的块就被称为脏块。 DBWn 负责将 buffer cache 中的脏块写进 dbf 文件中。
DBWn 不是每次更改数据块就会触发。就算触发时,也不是吧所有的块写进 dbf 文件中,而是将一些不常使用的块写进去。它是有一定的触发条件的。
(1) 每过 3 秒触发一次
(2) 当数据要写进 buffer cache 中,发现没有足够的空间的时候
(3) 执行检查点进程时
4 . Buffer cache 的重要参数配置
( 1 )查询 sga 各个组件大小
SQL> select component,current_size/1024/1024 current_M,min_size/1024/1024 min_M from v$sga_dynamic_components;
(3) 修改 buffer cache 大小
SQL> alter system set db_cache_size=20M scope=both;
通常情况下,对于 DB_CACHE_SIZE 的设置,推荐配置为:
整个的 SGA_MAX_SIZE 的 1/2~2/3
--------------- end -----------------------
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31529886/viewspace-2641097/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31529886/viewspace-2641097/
【体系结构】buffer cache的个人理解相关推荐
- linux page buffer cache深入理解
Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如: FO[2][1] = ...
- linux buffer 刷到磁盘,Linux下的磁盘缓存 linux page buffer cache深入理解
延伸:linux page buffer cache深入理解 描述:...么我们在分析io问题的时候可能会更加得心应手. Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会 ...
- oracle consistent gets,Oracle buffer cache理解之七——统计信息!
前文说了buffer cache的管理和DBWR进程是如何写文件的,更加具体的细节这里就不阐述了,这篇文章我们来了解一下关于buffer cache的统计信息,这里只介绍比较重要的几个统计信息参数: ...
- linux buffer cache 过高_你真的理解Linux的内存监控吗?
如果你平时工作使用Windows系统,对Windows的内存监控应该不陌生,在"任务管理器"中显示90%的内存占用,这些内存就全部由进程占用了,如果这时产生了新的进程,没有内存可用 ...
- Oracle性能调优之--Buffer cache 的调整与优化
Oracle性能调优之--Buffer cache 的调整与优化 Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候, ...
- buffer cache 深度解析
本文首先详细介绍了oracle中buffer cache的概念以及所包含的内存结构.然后结合各个后台进程(包括DBWRn.CKPT.LGWR等)深入介绍了oracle对于buffer cache的管理 ...
- Page cache和Buffer cache[转1]
http://www.cnblogs.com/mydomain/archive/2013/02/24/2924707.html Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的 ...
- 清理buffer/cache/swap的方法梳理
一.缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果 ...
- Page cache和Buffer cache
Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会缓存到page cache.文件的逻辑层需要映射到实际的物理磁盘,这种映射关系由文件系统来完成.当page cache的数 ...
最新文章
- C# ListView添加DragDrop
- java实现扫地agent_如何实现java agent?分享java agent的使用案例
- mybatis默认的数据源连接池(PooledDataSource和UnPooledDataSource)
- 【转】urllib urllib2 httplib
- 用ABAP 生成二维码 QR Code
- android 自定义对话框 demo,自定义dialog对话框获取EditText数据demo
- numpy.random模块常用函数
- JS总结 本地对象2 BOM DOM
- CS231n李飞飞计算机视觉 神经网络训练细节part1上
- 转发表(MAC表)、ARP表、路由表总结
- win10 没有计算机策略,Win10家庭版找不到组策略gpedit.msc的解决方法
- win7安装计算机的更新,解决win7系统更新升级教程
- matlab共轭梯度法解线性方程组,计算方法——共轭梯度法求解线性方程组.pdf
- 2017江苏高职计算机分数线,2017年江苏高考分数线公布
- BAT疯狂抢人, AI应届博士生年薪201万, 网友: 转行来得及吗???
- Java语言基础(常见对象3(数组排序(冒泡排序、选择排序、直接插入排序、快速排序、归并排序)、Arrays、基本数据类型包装类、Integer类、自动拆箱、自动装箱))
- Android的LogCat的使用
- class function
- 音视频、即时通讯、IM对传统聊天的影响
- 利用PHP获取学生成绩