共享SQL区在shared pool中释放的条件
自己总结了一下shared pool中的shared sql area会在以下条件下被释放:1,当shared pool要为shared sql area分配内存的时候,恰好这个时候shared pool中已经没有足够的内存可供分配,这个时候根据改进的LRU算法...
Library Cache
Library Cache主要包括SQL共享区以及PL/SQL的程序单元。 为了简单起见先从共享SQL区说起,共享SQL区顾名思义就是共享runtime sql的区域,其中存储了SQL语句的解析树和执...
SGA相关的几个动态性能视图
总结一些SGA的相关的动态性能视图:SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64biPL/S...
UGA的概念
把概念回忆并记录下来,过一下大脑,这样可以让自己对知识的认知更深一些: 首先我们都知道PGA是用户进程区域,这是一个私有的进程...
关于计算buffer cache hit rate的精确算法
在系统运行过程中,如果我们发现Cache hit rate过小,或者我们通过观察statspack中的Instance Efficiency Percentages这部分呢,我们会发现Buffer Hit%的值很低,通常这就是在暗示你要增加DB_CACHE_SIZE了1.通常的计算...
Oracle8i中SORT_AREA_SIZE和SORT_AREA_RETAINED_SIZE的理解
在Oracle中,一个process执行一个逻辑复杂的SQL时,可能这个SQL包含了众多的SORT工作,Oracle也只最多最多分配一个SORT_AREA_SIZE大小的空间来进行SORT.但是Oracle可以为我们分配多个SORT_AREA_RETAINED_SIZE来临时保存...
Oracle SGA中的Granule(粒度)
我们都知道从Oracle9i开始,Oracle引入了一个新的initial parameter->db_cache_size,这个参数代表了standard db_block_size的Default pool的大小.那么这样一来的引入替代了先前的db_bl...
Oracle Buffer Cache原理总结(二)
由于我们的buffer cache是基于一种共享内存的结构,而且buffer的获取和修改都不可避免的要对Buffer cache中LRU List进行扫描,在runtime的环境中常常会存在并发进程的并发访问,由于shared me...
Oracle Buffer Cache原理总结(一)
Buffer cache是Oracle SGA中的重要组成部分,在自己先前的blog中对于这一块也有过一些讨论,这里在给出一份更详细的总结.通常数据的访问和修改都是需要通过buffer cache来完成的...
buffer cache部分原理(LRU)
当一个server process到buffer cache访问数据块的时候,首先他要搜索LRU列表的MRU看看他所要找的数据块在不在我们buffer_cache中,如果在就直接访问这个block,此时的命中是在buffer中,如果没有找到所...
flush buffer cache
如果访问的数据块不在buffer cache中,就需要扫描LRU链表(寻找free buffer),当达到扫描块数限制后(40%)还没有找到空闲buffer,就需要通知DBW0将脏缓存回写到磁盘。(如果checkpoint queue达到了2...