如何检查Oracle命中率

发布时间:2021-11-10 14:28:50 作者:小新
来源:亿速云 阅读:163

这篇文章主要介绍如何检查Oracle命中率,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在数据库正常使用期间,可以通过以下SQL来测试数据库性能:

SQL>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 RATE "from v$sysstat;

HIT RATE

---------------------

99.8493296

SQL>select (1-(sum(getmisses)/sum(gets))) * 100 "HIT RATE" from v$rowcache;

HIT RATE

---------------------

98.1750126

SQL>select Sum(Pins)/(Sum(Pins) + Sum(Reloads)) * 100 "HIT RATE" from V$LibraryCache;

HIT RATE

---------------------

99.9905342

SQL> 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)"Memory Sorts%" from v$sysstat a, v$sysstat b wherea.name = 'sorts (disk)'and b.name = 'sorts (memory)';

Disk Sorts Memory Sorts Memory Sorts%

---------- ------------ ----------------

SQL> 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);

BLOCK STATUSCOUNT(*)

---------------------------------------- ----------

BEING USED1876

SQL> 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;

Percent

----------

10.23

一般在8%左右,小于5%为最佳。

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

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

SQL> select disk_reads, substr(sql_text,1,4000) from v$sqlareaorder by disk_reads desc;

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

以上测试也可以通过AWRSTATSPACK来查看. 在分析结果中,我们首先要看的十项内容:

1. 首要的5个等待时间(定时事件)

2. 负载简档(Load profile

3. 实例效率点击率(Instance efficiency hit ratios

4. 等待时间(Wait events

5. 闩锁等待(Latch waits

6. 首要的SQLTop SQL

7. 实例活动(Instance activity

8. 文件I/0和段统计数据(File I/0 and segement statistics

9. 内存分配(Memory allocation

10.缓冲区等待(Buffer waits
------------------------------End------------------------------------------------------

以上是“如何检查Oracle命中率”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. oracle 集群检查集群资源状态脚本
  2. oracle检查数据文件是否有坏块

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle

上一篇:oracle 12c如何检查pdb数据库状态

下一篇:Django中的unittest应用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》