Oracle SGA是oracle的内存结构,存放着oracle通过oracle进程读写的内存数据。sga分为好多组件,比如shared pool,buffer cache,redo log buffer等等。shared pool又分为library cache,data dictionary cache.

library cache是存sql语句及其分析结果的内存结构
data dictionary cache是存放数据字典的内存结构
buffer cache存的就是数据。
我们分别来看这3部分如何判断其性能和调优:
1)library cache
用如下sql判断其性能:
select l.namespace,l.GETHITRATIO,l.PINHITRATIO,l.reloads,l.invalidations from v$librarycache l;
   NAMESPACEGETHITRATIOPINHITRATIORELOADSINVALIDATIONS
1SQL AREA0.8290805731492060.975705036500957734995
2TABLE/PROCEDURE0.8292682926829270.95089283623608523210
3BODY0.9925385066353990.996592814899815450
4TRIGGER0.9763868065967020.987569551319995400
5INDEX0.510613207547170.757788161993769350
6CLUSTER0.9787234042553190.98562874251497100
7OBJECT1100
8PIPE1100
9JAVA SOURCE0.2666666666666670.33333333333333310
10JAVA RESOURCE0.2666666666666670.33333333333333310
11JAVA DATA1100
gethitratio是语法分析命中率,90%为好。
pinhitratio 是sql命中率,90%为好。
reloads因语法分析过期需要重新分析的次数,要小。
invalidations sql虽在,但已无效的次数,要小。
2)data dictionary cache
  用如下sql判断其性能:
  select 1-sum(getmisses)/sum(gets) from v$rowcache;
   1-SUM(GETMISSES)/SUM(GETS)
 0.970686883098906
这个值表示了数据字典内存命中率。这个数据在95%以上为好。
3)buffer cache
用如下sql判断其性能:
select 1 - ((physical.value - direct.value - lobs.value) / logical.value) "hitratio"
  from v$sysstat physical,
       v$sysstat direct,
       v$sysstat lobs,
       v$sysstat logical
 where physical.name = 'physical reads'
   and direct.name = 'physical reads direct'
   and lobs.name = 'physical reads direct (lob)'
   and logical.name = 'session logical reads';
 
10.87177594421064
 
注意(lob)前有个空格。

这时数据命中率,85%为好。

 
在Oracle 10g中,这些项如果有问题都要调整sga_target参数。
alter system set sga_target=XXM scope=both;

判断和调整library cache,data dictionary cache,buffer cache性能的更多相关文章

  1. Buffer cache 的调整与优化

    Buffer cache 的调整与优化 -============================== -- Buffer cache 的调整与优化(一) --==================== ...

  2. [转载]Buffer cache的调整与优化

    Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候,将会造成更多的free buffer waits事件.下面将具体描 ...

  3. ORACLE性能优化- Buffer cache 的调整与优化

    Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候,将会造成更多的 free buffer waits事件. 下面将具 ...

  4. buffer cache 深度解析

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

  5. Oracle buffer cache与相关的latch等待事件

    buffer cache与相关的latch等待事件 1.buffer cache 2.latch:cache buffers lru chain 3.latch:cache buffers chain ...

  6. Buffer Cache 原理

    在将数据块读入到SGA中,他们的缓冲区被放置在悬挂散列存储桶的链表中(散列链),这种内存结构由大量 子cache buffers chains锁存器(也称为散列锁存器或CBC锁存器)保护. Buffe ...

  7. Memory Architecture-SGA-Database Buffer Cache

    启动instance:1.分配内存空间SGA 2.启动后台进程 内存结构:1.SGA 2.PGA 3.UGA 4.Software code areas SGA components:1.Databa ...

  8. Multiple Database Block Sizes and the Buffer Cache

    In oracle 10g we can have multiple block sizes at the same time. When a tablespace is created we can ...

  9. buffer cache —— buffer busy waits/read by other session

    oracle提供非常精确.有效的row level lock机制,多个用户同时修改数据时,为了保护数据,以块为单位挂起锁的情况不会发生.但这不太正确.以块为单位的锁虽然不存在,但正因为oracle I ...

随机推荐

  1. SpreadJS 在 Angular2 中支持哪些事件?

    SpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,提供了完备的公式引擎.排序.过滤.输入控件.数据可视化.Excel 导入/导出等功能,适用于 .N ...

  2. 如何从github下载项目的源代码,包含git客户端,直接下载,vs下载

    有好多小伙伴可能刚刚接触github,还不知道如果和github下载项目,此处写个博客统一的声明.从多种方式下载源代码,加深对git的理解. 首先先解释下git的含义,git是一个源代码的管理工具,通 ...

  3. Java中级面试题——(上)

    List和Set比较,各自的子类比较 对比一:Arraylist与LinkedList的比较 1.ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高 ...

  4. 怎么解决安装SqlServer2008总是提示Restart computer as failed

    安装SqlServer2008总是提示Restart computer as failed,重启电脑依然报这个錯.解决办法是在cmd窗口中使用命令setup.exe /SkipRules=Reboot ...

  5. 什么是URL,URI或URN?

    什么是URI? 每个Web服务器资源都有一个名字,这样客户端就可以说明它们感兴趣的资源是什么了. 服务器资源名被称为统一资源标识符(Uniform Resource Identifier, URI). ...

  6. Buildroot 指定内核版本

    /******************************************************************************** * Buildroot 指定内核版本 ...

  7. JVM原理二----JAVA虚拟机体系结构

    组成: 指令集,寄存器,栈,无用单元收集(GC),方法区域.JAVA核心 1,指令集:这个不太清楚 2,寄存器:和处理器中的寄存器类似 pc:Java程序计数器. optop:指向*作数栈顶端的指针. ...

  8. SVM处理多分类问题(one-versus-rest和one-versus-one的不同)

    SVM算法最初是为二值分类问题设计的,当处理多类问题时,就需要构造合适的多类分类器. 目前,构造SVM多类分类器的方法主要有两类:一类是直接法,直接在目标函数上进行修改,将多个分类面的参数求解合并到一 ...

  9. 日志组件logback的介绍及配置使用方法(二)

    四.Logback的默认配置 如果配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默认地会调用BasicConfigurator ,创建一个最小 ...

  10. 【java基础】Java的retry标记的使用

    说明:其实retry就是一个标记,标记程序跳出循环的时候从哪里开始执行,功能类似于goto.retry一般都是跟随者for循环出现,第一个retry的下面一行就是for循环,而且第二个retry的前面 ...