当前位置:  数据库>oracle

Oracle数据库关于命中率的查询语句总结

    来源: 互联网  发布时间:2017-06-18

    本文导语: 1) Library Cache的命中率公式:Library Cache Hit Ratio=SUM(PINHITS)/SUM(PINS)SELECT SUM(PINHITS)/SUM(PINS) FROM V$LIBRARYCACHE; 命中率不能低于99%,否则需要考虑是否受共享池大小,绑定变量,cursor_sharing等因素的影响。SELECT NAME,VALUE FROM V$PARAMETER WHERE N...

1) Library Cache的命中率
公式:Library Cache Hit Ratio=SUM(PINHITS)/SUM(PINS)
SELECT SUM(PINHITS)/SUM(PINS) FROM V$LIBRARYCACHE;

命中率不能低于99%,否则需要考虑是否受共享池大小,绑定变量,cursor_sharing等因素的影响。
SELECT NAME,VALUE FROM V$PARAMETER WHERE NAME='cursor_sharing'

2) Shared Pool的使用率
公式:Shared Pool Hit Ratio=(100-Free memory/shared_pool_size*100)%
如果数据库采用AMM方式管理内存使用以下语句获取Shared Pool大小:

SELECT POOL,ROUND(SUM(BYTES)/1024/1024,2) FROM V$SGASTAT where POOL='shared pool' group by POOL;

如果是采取Manual方式管理内存则:
SELECT NAME,VALUE FROM V$PARAMETER WHERE NAME='shared_pool_size';

查询1:

SELECT 100 - ROUND((SELECT ROUND(SUM(BYTES) / 1024 / 1024, 2) BYTES
                      FROM V$SGASTAT
                    WHERE NAME = 'free memory'
                      AND POOL = 'shared pool'
                    GROUP BY POOL) / ROUND(SUM(BYTES) / 1024 / 1024, 2),
                  4) * 100 || '%' RATIOS
 FROM V$SGASTAT
 where POOL = 'shared pool'
 GROUP BY POOL

查询2:
SELECT 100 - ROUND(B.BYTES / ROUND(SUM(A.BYTES) / 1024 / 1024, 2),4)*100 || '%' RATIOS
  FROM V$SGASTAT A,
      (SELECT POOL,ROUND(SUM(BYTES) / 1024 / 1024, 2) BYTES
          FROM V$SGASTAT
        WHERE NAME = 'free memory' AND POOL='shared pool' GROUP BY POOL) B
 where A.POOL = 'shared pool' GROUP BY B.BYTES,A.POOL

共享池使用率应稳定在75%-90%间,过小则浪费,过大说明内存不足或语句重用性不高。


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • oracle用什么SQL语句判断表存不存在
  • 请问怎么用jsp语句删除oracle中的一条记录?
  • Oracle Sql语句长度限制问题及解决 iis7站长之家
  • Oracle用什么语句查询字段?
  • 怎么在java中向一个sql语句传参数,就像oracle的proc一样啊?
  • 请问在 Linux 下如何用代码实现连接oracle数据库 并 执行 SQL 语句?
  • Oracle 9i轻松取得建表和索引的DDL语句
  • Oracle的SQL语句中如何处理‘&’符号
  • 关于Oracle中的sql语句的疑问,向大家请教。
  • Oracle Sql语句长度限制问题及解决
  • Oracle9i取得建表和索引的DDL语句
  • Oracle 中文字段进行排序的sql语句
  • oracle数据库添加或删除一列的sql语句
  • Oracle中查询本月星期5的所有日期列表的语句
  • Oracle中备份表的简单sql命令语句
  • oracle中误删除表后恢复语句(FLASHBACK)
  • Oracle判断指定列是否全部为数字的sql语句
  • jsp中在oracle中查询日期类型时sql语句该怎么写啊?
  • Oracle 常用的SQL语句
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3