statspack收集性能数据
在日常的维护中,我还是比较喜欢使用statspack来收集性能数据。比如之前用我的自动收集snapshot的脚本,可以方便收集一天的性能信息,然后使用下列查询;
select to_char(a.snap_time,'hh24:mi'),b.sql_text,b.rows_processed
from stats$snapshot a,stats$sql_summary b
where a.snap_id=b.snap_id and to_char(a.snap_time,'hh24')='11'
order by rows_processed
这个例子是收集11点的时候,处理最多的行的SQL语句,这样我们可以找出占用最多IO资源的SQL语句。
我们可以把rows_processed可以改成buffer_gets,disk_reads,parse_calls,concurrency_wait_time等性能数据,可以很方便地找出有性能问题的SQL语句。
查询SQL解析率
select 100*(a.value/(a.value+b.value))
from v$sysstat a,v$sysstat b
where a.NAME='parse count (hard)' and b.NAME='execute count'
cache hit
select 1-((a.value-b.value)/c.value))
from v$sysstat a,v$sysstat b,v$sysstat c
where a.NAME='physical reads'
and b.NAME='physical reads direct'
and c.NAME='session locgical reads'
阅读(1360) | 评论(0) | 转发(0) |