千家信息网

Oracle如何调优相关的命中率、使用率

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,小编给大家分享一下Oracle如何调优相关的命中率、使用率,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Oracle调优相关的各种命中率、使用率汇总http://www.ecdoer
千家信息网最后更新 2024年09月22日Oracle如何调优相关的命中率、使用率

小编给大家分享一下Oracle如何调优相关的命中率、使用率,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

Oracle调优相关的各种命中率、使用率汇总

http://www.ecdoer.com/post/oracle-radio.html

Library Cache的命中率

计算公式:Library Cache Hit Ratio = sum(pinhits) / sum(pins)

SELECT SUM(pinhits) / sum(pins) FROM V$LIBRARYCACHE;

通常在98%以上,否则,需要要考虑加大共享池,绑定变量,修改cursor_sharing等参数。

共享池内存使用率

SELECT (1 - ROUND(BYTES / (&TSP_IN_M * 1024 * 1024), 2)) * 100 || '%'

FROM V$SGASTAT

WHERE NAME = 'free memory'

AND POOL = 'shared pool';

其中: &TSP_IN_M是你的总的共享池的SIZE(M)

共享池内存使用率,应该稳定在75%-90%间,太小浪费内存,太大则内存不足。

查询空闲的共享池内存:

SELECT * FROM V$SGASTAT

WHERE NAME = 'free memory'

AND POOL = 'shared pool';

db buffer cache命中率

计算公式:Hit ratio = 1 - [physical reads/(block gets + consistent gets)]

SELECT NAME,

PHYSICAL_READS,

DB_BLOCK_GETS,

CONSISTENT_GETS,

1 - (PHYSICAL_READS / (DB_BLOCK_GETS + CONSISTENT_GETS)) "Hit Ratio"

FROM V$BUFFER_POOL_STATISTICS

WHERE NAME = 'DEFAULT';

通常应在90%以上,否则,需要调整,加大DB_CACHE_SIZE。

另外一种计算命中率的方法:

命中率的计算公式为:

Hit Ratio = 1 - ((physical reads - physical reads direct - physical reads direct (lob)) / (db block gets+ consistent gets - physical reads direct - physical reads direct (lob))

分别代入上一查询中的结果值,就得出了Buffer cache的命中率

SELECT NAME, VALUE

FROM V$SYSSTAT

WHERE NAME IN ('session logical reads',

'physical reads',

'physical reads direct',

'physical reads direct (lob)',

'db block gets',

'consistent gets');

数据缓冲区命中率

select value from v$sysstat where name ='physical reads';

select value from v$sysstat where name ='physical reads direct';

select value from v$sysstat where name ='physical reads direct (lob)';

select value from v$sysstat where name ='consistent gets';

select value from v$sysstat where name = 'db block gets';

这里命中率的计算应该是令 x = physical reads direct + physical reads direct (lob)

命中率 =100 - ( physical reads - x) / (consistent gets + db block gets - x)*100

通常如果发现命中率低于90%,则应该调整应用可可以考虑是否增大数据缓冲区

共享池的命中率

select sum(pinhits - reloads) / sum(pins) * 100 "hit radio" from v$librarycache;

假如共享池的命中率低于95%,就要考虑调整应用(通常是没使用bind var )或者增加内存

CPU消耗

计算CPU消耗首先要借助Linux的TOP命令寻找CPU使用量高的session,找到高占用的PID。然后借助v$process的addr字段跟v$session的paddr找到sql_id、hash_value,然后结合v$sqltext然后找相应的SQL语句,找到之后分析执行计划,进行相应调优。

看完了这篇文章,相信你对"Oracle如何调优相关的命中率、使用率"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

命中率 使用率 公式 内存 池内 调整 数据 篇文章 缓冲区 应用 查询 消耗 缓冲 使用量 参数 变量 命令 字段 完了 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河北节能软件开发服务价钱 水果龙仔网络技术 网络安全大学排名qs 外文数据库中有哪些引文数据库 广州探图网络技术公司 sql数据库 密码过期 什么是数据库安全性 移动端软件开发需要什么软件 一年级主题班会网络安全我知道 网络安全防范措施自查报告 网络安全工程师对比软件工程师 拼多多发货软件开发 威海直销软件开发 甘肃uk税务服务器连接失败 福建省的服务器虚拟主机 计算机网络安全发展前景 流媒体服务器利用客户机无法访问 orcal数据库自动备份 广州滴滴派单软件开发科技公司 春考网络技术培训技能操作过程 LUM数据库技术流视频 三明app软件开发公司 pam支持哪些数据库 2020网络安全责任制工作实施情况 福建信息技术数据库 新昌服务器回收 联想服务器的产地 共青团网络安全宣传标语 unix服务器安全 云服务器 项目 数据安全吗
0