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的个人理解相关推荐

  1. linux page buffer cache深入理解

    Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如: FO[2][1] = ...

  2. linux buffer 刷到磁盘,Linux下的磁盘缓存 linux page buffer cache深入理解

    延伸:linux page buffer cache深入理解 描述:...么我们在分析io问题的时候可能会更加得心应手. Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会 ...

  3. oracle consistent gets,Oracle buffer cache理解之七——统计信息!

    前文说了buffer cache的管理和DBWR进程是如何写文件的,更加具体的细节这里就不阐述了,这篇文章我们来了解一下关于buffer cache的统计信息,这里只介绍比较重要的几个统计信息参数: ...

  4. linux buffer cache 过高_你真的理解Linux的内存监控吗?

    如果你平时工作使用Windows系统,对Windows的内存监控应该不陌生,在"任务管理器"中显示90%的内存占用,这些内存就全部由进程占用了,如果这时产生了新的进程,没有内存可用 ...

  5. Oracle性能调优之--Buffer cache 的调整与优化

    Oracle性能调优之--Buffer cache 的调整与优化 Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候, ...

  6. buffer cache 深度解析

    本文首先详细介绍了oracle中buffer cache的概念以及所包含的内存结构.然后结合各个后台进程(包括DBWRn.CKPT.LGWR等)深入介绍了oracle对于buffer cache的管理 ...

  7. Page cache和Buffer cache[转1]

    http://www.cnblogs.com/mydomain/archive/2013/02/24/2924707.html Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的 ...

  8. 清理buffer/cache/swap的方法梳理

    一.缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果 ...

  9. Page cache和Buffer cache

    Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会缓存到page cache.文件的逻辑层需要映射到实际的物理磁盘,这种映射关系由文件系统来完成.当page cache的数 ...

最新文章

  1. C# ListView添加DragDrop
  2. java实现扫地agent_如何实现java agent?分享java agent的使用案例
  3. mybatis默认的数据源连接池(PooledDataSource和UnPooledDataSource)
  4. 【转】urllib urllib2 httplib
  5. 用ABAP 生成二维码 QR Code
  6. android 自定义对话框 demo,自定义dialog对话框获取EditText数据demo
  7. numpy.random模块常用函数
  8. JS总结 本地对象2 BOM DOM
  9. CS231n李飞飞计算机视觉 神经网络训练细节part1上
  10. 转发表(MAC表)、ARP表、路由表总结
  11. win10 没有计算机策略,Win10家庭版找不到组策略gpedit.msc的解决方法
  12. win7安装计算机的更新,解决win7系统更新升级教程
  13. matlab共轭梯度法解线性方程组,计算方法——共轭梯度法求解线性方程组.pdf
  14. 2017江苏高职计算机分数线,2017年江苏高考分数线公布
  15. BAT疯狂抢人, AI应届博士生年薪201万, 网友: 转行来得及吗???
  16. Java语言基础(常见对象3(数组排序(冒泡排序、选择排序、直接插入排序、快速排序、归并排序)、Arrays、基本数据类型包装类、Integer类、自动拆箱、自动装箱))
  17. Android的LogCat的使用
  18. class function
  19. 音视频、即时通讯、IM对传统聊天的影响
  20. 利用PHP获取学生成绩

热门文章

  1. ON DELETE CASCADE和ON UPDATE CASCADE
  2. fread 单独测试没有问题 在正式项目里面丢数据 可能是系统资源不足 预读出了问题
  3. IntelliJ IDEA 优化总结 适用于clion
  4. linux中date命令设置系统时间的方法-转
  5. PAT 1150 Travelling Salesman Problem(25 分)- 甲级
  6. L2-023 图着色问题-PAT团体程序设计天梯赛GPLT
  7. PowerShell 查询 Excel记录
  8. oracle数据库中的一些操作
  9. 【EMC】电压暂降、短时中断和电压变化
  10. 亚马逊发布新流媒体音乐服务:最低每月4美元