电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

oraclebuffercache深度分析VIP免费

oraclebuffercache深度分析_第1页
1/21
oraclebuffercache深度分析_第2页
2/21
oraclebuffercache深度分析_第3页
3/21
本文首先详细介绍了oracle 中buffer cache 的概念以及所包含的内存结构。然后结合各个后台进程(包括DBWRn、CKPT、LGWR 等)深入介绍了oracle 对于 buffer cache 的管理机制,并详细解释了oracle 为什么会采用现在的管理机制,是为了解决什么问题。比如为何会引入 touch 次数、为何会引入增量检查点等等。最后全面介绍了有关 buffer cache 监控以及调优的实用方法。 1. bu ffer cache 的概念 用最简单的语言来描述 oracle 数据库的本质,其实就是能够用磁盘上的一堆文件来存储数据,并提供了各种各样的手段对这些数据进行管理。作为管理数据的最基本要求就是能够保存和读取磁盘上的文件中的数据。众所周知,读取磁盘的速度相对来说是非常慢的,而内存相对速度则要快的多。因此为了能够加快处理数据的速度,oracle 必须将读取过的数据缓存在内存里。而 oracle 对这些缓存在内存里的数据起了个名字:数据高速缓存区(db buffer cache),通常就叫做 buffer cache。按照 oracle 官方的说法,buffer cache 就是一块含有许多数据块的内存区域,而这些数据块主要都是数据文件里的数据块内容的拷贝。通过初始化参数:buffer_cache_size 来指定 buffer cache 的大小。oracle 实例一旦启动,该区域大小就被分配好了。 buffer cache 所能提供的功能主要包括: 1) 通过缓存数据块,从而减少 I/O。 2) 通过构造 CR 块,从而提供读一致性功能。 3) 通过提供各种 lock、latch 机制,从而提供多个进程并发访问同一个数据块的功能。 2.buffer cache 的内存结构 2.1 bu ffer cache概述 oracle 内部在实现其管理的过程中,有两个非常有名的名词:链表和 hash 算法。 链表是一种数据结构,通过将对象串连在一起,从而构成链表结构。这样,如果要修改、删除、查找某个对象的话,都可以先到链表中去查找,而不必实际的访问物理介质。oracle中最有名的链表大概就是 LRU 链表了,我们后面会介绍它。 而 hash 算法则是为了能够进行快速查找定位所使用一种技术。所谓 hash 算法,就是根据要查找的值,对该值进行一定的hash 算法后得出该值所在的索引号,然后进入到该值应该存在的一列数值列表(可以理解为一个二维数组)里,通过该索引号去找它应该属于哪一个列表。然后再进入所确定的列表里,对其中所含有的值,进行一个一个的比较,从而找到该值。这样就避免了对整个数值列表进行扫描才能找到...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

oraclebuffercache深度分析

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部