在数据库启动2小时后,可以通过以下SQL来测试数据库性能

1.  缓冲区命中率:

缓冲区命中率表示在不需要进行磁盘访问的情况下在内存结构中找到常用数据块的频率

select (1-(sum(decode(name, 'physical reads',value,0))/(sum(decode(name, 'db block gets',value,0)) 
         +sum(decode(name,'consistent gets',value,0))))) * 100 "Hit Ratio"
         from v$sysstat;

大于98%为最佳

2.数据字典缓存命中率:

数据字典缓存命中率显示了对数据字典和其他对象的内存读操作所占的百分比。

select (1-(sum(getmisses)/sum(gets))) * 100 "Hit Ratio" from v$rowcache;

大于98%为最佳

3.库缓存命中率:

库缓存命中率显示了对实际语句和PL/SQL对象的内存读操作所占的百分比。注意,很高的命中率并不总是一件好事。

select Sum(Pins)/(Sum(Pins) + Sum(Reloads)) * 100 "Hit Ratio" from V$LibraryCache;

大于98%为最佳

4.PGA内存排序命中率

自动PGA内存管理简化了分配PGA内存的方法。Oracle动态调整工作区PGA内存的大小(以SGA内存大小的20%为基础)。在自动PGA内存管理模式下运行时,所有会话的工作区大小都是自动的。实例中活动工作区可用的PGA内存总量自动由SORT_AREA_SIZE或PGA _ AGGREGATE_ TARGET(首选)初始化参数导出。PGA内存排序率的值应该大于98%。依据初始化参数PGA_AGGREGATE_TARGET(或者用于向后兼容的SORT _AREA _ SIZE)的值,用户排序可能在内存或者在指定的临时表空间中的磁盘上完成,如果这个初始化参数不是太高的话。

select a.value "Disk Sorts", b.value "Memory Sorts",round((100*b.value)/decode((a.value+b.value),0,1,(a.value+b.value)),2)"Pct Memory Sorts" from v$sysstat a, v$sysstat b where   a.name = 'sorts (disk)'and b.name = 'sorts (memory)';

5. 空闲的数据缓冲区的比例

从您首次启动Oracle数据库的那一天开始,用户们的查询就开始使用内存。空闲的记录数除以X$BH表中的记录总数(即所分配的数据块缓冲区的总数)就得到这个百分比。同时请注意,您必须以SYS的权限来运行该查询。此外,拥有众多的空闲缓冲区并不一定是就最佳环境。5%-10% 为最佳。当空闲比例高于25%时,数据缓冲区设置得太大了,可能会浪费资源。

select decode(state,0, 'FREE',1,decode(lrba_seq,0,'AVAILABLE','BEING USED'),3, 'BEING USED', state) "BLOCK STATUS",count(*) from x$bh group by decode(state,0,'FREE',1,decode(lrba_seq,0,'AVAILABLE','BEING USED'),3, 'BEING USED', state);

6. 最浪费内存的前10个语句占所有语句的比例

在没有调整的情况下,大多数系统中10个最常使用的SQL语句的访问量占了整个系统中内存读操作的50%以上。本节测量了最影响性能的代码对整个系统所造成危害的严重性,以百分比表示。

select sum(pct_bufgets) "Percent" from (select rank() over ( order by buffer_gets desc ) as rank_bufgets,to_char(100 * ratio_to_report(buffer_gets) over (),'999.99') pct_bufgets from v$sqlarea ) where rank_bufgets < 11;

小于5%为最佳。

7.调整滥用磁盘读操作的主要语句

我发现在没有作调整的情况下,在绝大多数的系统中,访问量占前25位的语句的磁盘读操作将占用整个系统所有磁盘和/或内存读操作的75%。

select disk_reads, substr(sql_text,1,4000) from v$sqlarea  order by disk_reads desc;

8.表和与它们相关联的索引应当放置在不同的物理磁盘上,以便减少文件I/O。

以上测试也可以通过AWR和STATSPACK来查看. 在分析结果中,我们首先要看的十项内容:
1. 首要的5个等待时间(定时事件)
2. 负载简档(Load profile)
3. 实例效率点击率(Instance efficiency hit ratios)
4. 等待时间(Wait events)
5. 闩锁等待(Latch waits)
6. 首要的SQL(Top SQL)
7. 实例活动(Instance activity)
8. 文件I/0和段统计数据(File I/0 and segement statistics)
9. 内存分配(Memory allocation)
10.缓冲区等待(Buffer waits)

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script> 阅读(507) | 评论(0) | 转发(0) |

0

上一篇:Oracle SQL性能优化

下一篇:linux中buffer和cache的区别

评论热议

oracle内存部件命中率计算相关推荐

  1. Oracle中各个命中率的总结及调优笔记整理

    Oracle中各个命中率的总结及调优笔记整理 关于Oracle中各个命中率的计算以及相关的调优 1)Library Cache的命中率: .计算公式:Library Cache Hit Ratio = ...

  2. oracle内存体系结构

    转载地址:http://blog.csdn.net/bbliutao/article/details/46724151 Oracle内存结构 一.概述 每当数据库启动,系统全局区(SGA)被分配,并启 ...

  3. Oracle 内存结构

    Oracle内存结构 一.概述 每当数据库启动,系统全局区(SGA)被分配,并启动了Oracle后台进程. 系统全局区用于数据库用户共享数据库信的内存区域, 后台进程和内存缓冲区称为Oracle实例, ...

  4. Oracle内存全面分析(转)

    Oracle的内存配置与oracle性能息息相关.而且关于内存的错误(如4030.4031错误)都是十分令人头疼的问题.可以说,关于内存的配置,是最影响Oracle性能的配置.内存还直接影响到其他两个 ...

  5. oracle 内存分配和调优 总结

    一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且google很多下.现在记录下来,做下备份.  一.概述:                   orac ...

  6. ORACLE内存结构简介

    ORACLE数据库作为世界上一款功能强大的数据库管理软件,功能体系特别庞大.我们有必要对它的每一部分学习了解,然后才从全局的角度进行有效把握.我们会着重从理论基础体系角度再逐步到实战应用.实际上,如果 ...

  7. oracle java_pool_size_总结 Oracle 内存分配和调优

    一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且google很多下.现在记录下来,做下备份.概述oracle 的内存可以按照共享和私有的角度分为系统全局 ...

  8. oracle内存管理模式amm,Oracle 11g自动内存管理(AMM)相关的初始化参数

    Oracle对内存的管理越来越趋向智能化.自动化,从9i通过PGA_AGGREGATE_TARGET参数实现PGA的自动管理,10g通过Automatic Shared Memory Manageme ...

  9. 【中亦安图】Oracle内存过度消耗风险提醒(6)

    第一章 技术人生系列 · 我和数据中心的故事(第六期)-Oracle内存过度消耗风险提醒 中亦安图 | 2016-02-26 13:11 前言 时间过的真快,技术人生系列·我和数据中心的故事已经来到了 ...

最新文章

  1. JavaScript初学者编程题(20)
  2. DEDE利用Ajax实现调用当前登录会员的信息简要说明
  3. 求正多边形的面积JAVA_第六章第三十六题(几何:正多边形的面积)(Geometry: area of a regular polygon)...
  4. 阿里云云治理中心正式上线,助力企业快速云落地
  5. 公司用云桌面还是台式计算机好,相比于性能更强的台式机为什么很多企业更喜欢用云桌面...
  6. auto.js id为参数滑动_【Autojs教程】02Autojs PC端开发调试环境搭建
  7. 高级转录组分析和R语言数据可视化课程全部转为视频课
  8. 答案 石头剪刀布 编码过程 0912
  9. monkey测试小结
  10. POSIX:可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )
  11. python 中实现enum
  12. windows7 上搭建NFS服务器--haneWIN
  13. android实现箭头流程列表_Android弹出选项框及指示箭头动画选择
  14. 学周刊杂志学周刊杂志社学周刊编辑部2022年第24期目录
  15. 盘古石杯电子取证比赛WP
  16. VMware 安装Ubuntu22.04
  17. Coddington shape factor
  18. iMAC——全新重装Mac系统
  19. 软考高级已过,可以继续考软考中级吗?
  20. 解决tar 时间戳XXX是未来的XXX秒之后问题

热门文章

  1. 【51单片机门禁系统 密码锁+掉电保护 OLED显示】
  2. 【设计模式】—-(13)模板方法模式(行为型)
  3. A-CF29B Traffic Lights
  4. 如何做好客户精细化管理?
  5. 3DMARK2001SE 终于破20000分!
  6. LVGL PC模拟器(1)
  7. 融合后的戴尔易安信发布系列存储产品
  8. 我的世界服务器最新npc获得,我的世界1.8Citizens2——NPC插件
  9. Java(计算中华人民共和国成立了多少天)
  10. cocos2dx tolua ++ 使用 常见得错误