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. 求序列完美度(trie+贪心)

    题目链接: 求序列完美度 题目描述 给出由n个数组成的序列s,规定第i个数s[i]到第j个数s[j]组成的子序列的完美度为该子序列中所有数的和与任意一个不在该子序列中的数进行异或运算得到的值中的最大值 ...

  2. [转] 用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践

    转自知乎上看到的一篇很棒的文章:用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文 ...

  3. Android常见问题——找不到HttpClient和okHttp的包

    今天再用Android Studio进行网络编程的时候遇到了一个问题,就是怎么也找不到HttpClient的包,上网搜了一下也没什么结果,但最后偶然解决问题,下面总结了一下方法: 首先打开File-& ...

  4. postfix邮件服务器搭建04-终结篇

    本来是计划对postfix做一个全系列的安装文档的,不过在查某个知识点的时候,偶然找到一个已经写好的postfix全系列文章,在全部看完之后惊为天人,我认为:总体上会比我要写的要好,所以我准备借用一下 ...

  5. stark组件03

    优化代码 1:页面的增删改查url反转的封装到类里:ModelSatrk # 编辑页面的url def get_edit_url(self,obj): edit_url = reverse(" ...

  6. times(NULL) Segmentation fault

    ****************************************************************************** * times(NULL) Segment ...

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

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

  8. javascript的slice()与splice()方法

    (1)数组和String对象都有slice()方法. //Array var list = ['A','B','C','D','DS']; console.log(list.slice(,));//截 ...

  9. Servlet实现验证码图片(一)

    Servlet实现数字字母验证码图片(一): 生成验证码图片主要用到了一个BufferedImage类,如下:

  10. HDU2473 Junk-Mail Filter 【可删除的并查集】

    HDU2473 Junk-Mail Filter Problem Description Recognizing junk mails is a tough task. The method used ...