oracle数据库SQL相关指标统计分析
2016-11-29 22:35
465 查看
---查询sql当前的指标:
select
a.HASH_VALUE, a.sql_text,
a.PLAN_HASH_VALUE,
round(a.BUFFER_GETS/a.EXECUTIONS) bg_per_exec,
round(a.CPU_TIME/1000/a.EXECUTIONS) cpu_per_exec,
round(a.ELAPSED_TIME/1000/a.EXECUTIONS) time_per_exec,
round(a.ROWS_PROCESSED/a.EXECUTIONS) rows_per_exec,
a.EXECUTIONS,
a.BUFFER_GETS,
a.DISK_READS,
a.CPU_TIME,
a.ELAPSED_TIME,
a.ROWS_PROCESSED
from v$sql a
where hash_value=377282797
and cpu_time<>0
and buffer_gets<>0
and rows_processed<>0
order by sql_text
/
--查询sql的历史执行次数变化:
select b.begin_interval_time, a.sql_id,a.executions_delta,a.executions_delta/(15*60)
from dba_hist_sqlstat a, dba_hist_snapshot b where
a.sql_id in ('0js9jz3qx087j')
and b.begin_interval_time> to_date('2014-03-31 13:00:00','yyyy-mm-dd hh24:mi:ss')
and b.begin_interval_time<to_date('2014-03-31 18:00:00','yyyy-mm-dd hh24:mi:ss')
and a.snap_id=b.snap_id
order by 2,1;
---sql历史上逻辑读、物理读、执行时间等的变化 (毫秒)
select b.begin_interval_time, a.sql_id,a.plan_hash_value,a.executions_delta,
round((a.buffer_gets_delta) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) bg_per_exec,
round((a.disk_reads_delta) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) diskr_per_exec,
round((a.cpu_time_delta/1000) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) ctime_ms_per_exec,
round((a.elapsed_time_delta/1000) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) etime_ms_per_exec,
round((a.APWAIT_DELTA/1000) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) APWAIT_DELTA_ms_per_exec,
round((a.CCWAIT_DELTA/1000) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) CCWAIT_DELTA_ms_per_exec,
round((a.rows_processed_total) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) row_process_per_exec
from dba_hist_sqlstat a, dba_hist_snapshot b
where a.sql_id = 'atd4sn0445c66'
and b.begin_interval_time> to_date('2014-12-04 09:00:00','yyyy-mm-dd hh24:mi:ss')
and b.begin_interval_time<to_date('2015-01-07 18:00:00','yyyy-mm-dd hh24:mi:ss')
and a.snap_id=b.snap_id order by 2,1
;
select b.begin_interval_time, a.sql_id,a.plan_hash_value,a.executions_delta,
round(a.buffer_gets_delta/a.executions_delta,3) bg_per_exec,
round(a.disk_reads_delta/a.executions_delta,3) diskr_per_exec,
round(a.cpu_time_delta/1000/a.executions_delta,3) ctime_ms_per_exec,
round(a.elapsed_time_delta/1000/a.executions_delta,3) etime_ms_per_exec,
round(a.APWAIT_DELTA/1000/a.executions_delta,3) APWAIT_ms_DELTA_per_exec,
round(a.CCWAIT_DELTA/1000/a.executions_delta,3) CCWAIT_ms_DELTA_per_exec,
round(a.rows_processed_total/a.executions_delta,3) row_process_per_exec
from dba_hist_sqlstat a, dba_hist_snapshot b
where a.sql_id = 'fvxkpft53fmqj'
and b.begin_interval_time> to_date('2014-12-26 09:00:00','yyyy-mm-dd hh24:mi:ss')
and b.begin_interval_time<to_date('2015-01-12 18:00:00','yyyy-mm-dd hh24:mi:ss')
and a.snap_id=b.snap_id order by 1
;
----查询一段时间内每个snapshot 间隔内的top sql:
select snap_id,begin_interval_time,sql_id,executions_delta,round(cpu_time_ms/executions_delta) cpu_time_per_exec_ms,ranking from
(select * from
(select a.snap_id,b.begin_interval_time,a.sql_id,a.executions_delta,round(a.cpu_time_delta/1000) cpu_time_ms,
rank() over (partition by a.SNAP_ID order by a.CPU_TIME_DELTA desc) ranking
from dba_hist_sqlstat a, dba_hist_snapshot b
where a.snap_id=b.snap_id
and b.begin_interval_time> to_date('2015-01-04 09:30:00','yyyy-mm-dd hh24:mi:ss')
and b.begin_interval_time<to_date('2015-01-04 11:30:00','yyyy-mm-dd hh24:mi:ss')
)
where ranking <6)
;
---查询sql当前的指标:
select
a.HASH_VALUE, a.sql_text,
a.PLAN_HASH_VALUE,
round(a.BUFFER_GETS/a.EXECUTIONS) bg_per_exec,
round(a.CPU_TIME/1000/a.EXECUTIONS) cpu_per_exec,
round(a.ELAPSED_TIME/1000/a.EXECUTIONS) time_per_exec,
round(a.ROWS_PROCESSED/a.EXECUTIONS) rows_per_exec,
a.EXECUTIONS,
a.BUFFER_GETS,
a.DISK_READS,
a.CPU_TIME,
a.ELAPSED_TIME,
a.ROWS_PROCESSED
from v$sql a
where hash_value=377282797
and cpu_time<>0
and buffer_gets<>0
and rows_processed<>0
order by sql_text
/
--查询sql的历史执行次数变化:
select b.begin_interval_time, a.sql_id,a.executions_delta,a.executions_delta/(15*60)
from dba_hist_sqlstat a, dba_hist_snapshot b where
a.sql_id in ('0js9jz3qx087j')
and b.begin_interval_time> to_date('2014-03-31 13:00:00','yyyy-mm-dd hh24:mi:ss')
and b.begin_interval_time<to_date('2014-03-31 18:00:00','yyyy-mm-dd hh24:mi:ss')
and a.snap_id=b.snap_id
order by 2,1;
---sql历史上逻辑读、物理读、执行时间等的变化 (毫秒)
select b.begin_interval_time, a.sql_id,a.plan_hash_value,a.executions_delta,
round((a.buffer_gets_delta) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) bg_per_exec,
round((a.disk_reads_delta) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) diskr_per_exec,
round((a.cpu_time_delta/1000) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) ctime_ms_per_exec,
round((a.elapsed_time_delta/1000) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) etime_ms_per_exec,
round((a.APWAIT_DELTA/1000) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) APWAIT_DELTA_ms_per_exec,
round((a.CCWAIT_DELTA/1000) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) CCWAIT_DELTA_ms_per_exec,
round((a.rows_processed_total) /decode(nvl(a.executions_delta, 0),0,1, a.executions_delta),3) row_process_per_exec
from dba_hist_sqlstat a, dba_hist_snapshot b
where a.sql_id = 'atd4sn0445c66'
and b.begin_interval_time> to_date('2014-12-04 09:00:00','yyyy-mm-dd hh24:mi:ss')
and b.begin_interval_time<to_date('2015-01-07 18:00:00','yyyy-mm-dd hh24:mi:ss')
and a.snap_id=b.snap_id order by 2,1
;
select b.begin_interval_time, a.sql_id,a.plan_hash_value,a.executions_delta,
round(a.buffer_gets_delta/a.executions_delta,3) bg_per_exec,
round(a.disk_reads_delta/a.executions_delta,3) diskr_per_exec,
round(a.cpu_time_delta/1000/a.executions_delta,3) ctime_ms_per_exec,
round(a.elapsed_time_delta/1000/a.executions_delta,3) etime_ms_per_exec,
round(a.APWAIT_DELTA/1000/a.executions_delta,3) APWAIT_ms_DELTA_per_exec,
round(a.CCWAIT_DELTA/1000/a.executions_delta,3) CCWAIT_ms_DELTA_per_exec,
round(a.rows_processed_total/a.executions_delta,3) row_process_per_exec
from dba_hist_sqlstat a, dba_hist_snapshot b
where a.sql_id = 'fvxkpft53fmqj'
and b.begin_interval_time> to_date('2014-12-26 09:00:00','yyyy-mm-dd hh24:mi:ss')
and b.begin_interval_time<to_date('2015-01-12 18:00:00','yyyy-mm-dd hh24:mi:ss')
and a.snap_id=b.snap_id order by 1
;
----查询一段时间内每个snapshot 间隔内的top sql:
select snap_id,begin_interval_time,sql_id,executions_delta,round(cpu_time_ms/executions_delta) cpu_time_per_exec_ms,ranking from
(select * from
(select a.snap_id,b.begin_interval_time,a.sql_id,a.executions_delta,round(a.cpu_time_delta/1000) cpu_time_ms,
rank() over (partition by a.SNAP_ID order by a.CPU_TIME_DELTA desc) ranking
from dba_hist_sqlstat a, dba_hist_snapshot b
where a.snap_id=b.snap_id
and b.begin_interval_time> to_date('2015-01-04 09:30:00','yyyy-mm-dd hh24:mi:ss')
and b.begin_interval_time<to_date('2015-01-04 11:30:00','yyyy-mm-dd hh24:mi:ss')
)
where ranking <6)
;
相关文章推荐
- oracle数据库执行计划统计分析,优化表数据字典,提高sql查询效率
- 关于Oracle数据库IO等待相关指标的较为系统的分析方法
- 数据统计例子,相关子查询!(SQL 中循环操作一列数据方法)
- 只满足某个条件的数据统计SQL各类写法性能分析
- 统计分析SQL Server Profiler 跟踪的SQL
- SQL语句在OLAP的妙用(多维分析与指标计算)
- 统计分析SQL Server Profiler 跟踪的SQL
- ORACLE数据库对象统计分析技术应用(原创)
- MySQL 优化相关——统计数据分析
- SQL执行计划及统计信息相关视图
- 查询对象统计信息相关SQL
- thinkphp区间查询、统计查询与SQL直接查询实例分析
- 会计报表分析相关指标收集
- SQL建立连接服务到Oracle数据库相关知识
- SQL 按日月年统计分析数据
- 【Oracle脚本】Oracle数据库表空间相关的SQL脚本
- 如何在sqlplus中查看oracle数据库sql语句执行计划,执行时间和统计信息
- 临床试验的统计报表问题:四格表指标统计分析报表的sas宏程序
- Oracle数据库SQL相关总结
- 噪声分析系统统计sql总结