SQL获取AWR信息
来源:互联网 发布:sql server 基础语法 编辑:程序博客网 时间:2024/06/06 13:19
----快照排序
select snap_id,dbid,end_time from (
select snap_id,dbid,to_char(end_interval_time,'yyyy-mm-dd hh24:mi:ss') end_time from dba_hist_snapshot
order by end_interval_time desc)
where rownum<100;
------PLSQL取AWR报告
select * from table(dbms_workload_repository.awr_report_html('203185647',1,175129,175130));
----创建快照
exec dbms_workload_repository.create_snapshot;
-----某个SQL在时间范围内的情况
select a.snap_id,c.begin_interval_time,c.end_interval_time,a.elapsed_time_delta/a.executions_delta/1000000 "S",a.sql_id,b.sql_text,a.buffer_gets_delta/a.executions_delta "buffer_gets/次",a.disk_reads_delta/a.executions_delta "disk_read/次" from dba_hist_sqlstat a, dba_hist_sqltext b,dba_hist_snapshot c
where a.sql_id=b.sql_id
and a.snap_id=c.snap_id
and a.sql_id='18ahw8aawvkbr'
and a.snap_id between 182723 and 184126
and a.executions_delta >0;
------
select s.instance_number,s.snap_id, to_char(sn.end_interval_time,'YYYYMMDD HH24:MI:SS'),s.plan_hash_value, s.executions_delta,
round(s.elapsed_time_delta/s.executions_delta) ,
round(s.disk_reads_delta/s.executions_delta) ,
round(s.BUFFER_GETS_delta/s.executions_delta) ,
round(s.CPU_TIME_delta/s.executions_delta),
round(s.ccwait_delta/s.executions_delta),
round(s.iowait_delta/s.executions_delta),
round(s.apwait_delta/s.executions_delta)
from dba_hist_snapshot sn, dba_hist_sqlstat s
where s.snap_id = sn.snap_id and s.sql_id='dd4rakddcp6tp'
and s.instance_number=sn.instance_number
and s.executions_delta>0
order by sn.end_interval_time desc;
select s.instance_number,s.snap_id, to_char(sn.end_interval_time,'YYYYMMDD HH24:MI:SS'),s.plan_hash_value, s.executions_delta,
round(s.elapsed_time_delta) ,
round(s.disk_reads_delta) ,
round(s.BUFFER_GETS_delta) ,
round(s.CPU_TIME_delta),
round(s.ccwait_delta),
round(s.iowait_delta),
round(s.apwait_delta)
from dba_hist_snapshot sn, dba_hist_sqlstat s
where s.snap_id = sn.snap_id and s.sql_id='6m8yzqna87n8t'
and s.instance_number=sn.instance_number
order by sn.end_interval_time desc;
select s.instance_number,s.snap_id, to_char(sn.end_interval_time,'YYYYMMDD HH24:MI:SS'),s.plan_hash_value, s.executions_delta,
round(s.elapsed_time_delta/s.executions_delta) elspsed_time ,
round(s.disk_reads_delta/s.executions_delta) disk_reads,
round(s.BUFFER_GETS_delta/s.executions_delta) BUFFER_GETS ,
round(s.CPU_TIME_delta/s.executions_delta) CPU_TIME,
round(s.ccwait_delta/s.executions_delta) ccwait_delta,
round(s.iowait_delta/s.executions_delta) iowait_delta,
round(s.apwait_delta/s.executions_delta) apwait_delta
from dba_hist_snapshot sn, dba_hist_sqlstat s
where s.snap_id = sn.snap_id and s.sql_id='1q6wcxm90w0tr'
and s.instance_number=sn.instance_number
and s.executions_delta>0
order by sn.end_interval_time desc;
----索引聚因子
在上述sql语句的输出结果中,如果dba_indexes.clustering_factor接近表中块的数量,
那么表中大多数行是排序的。这是期望的。
然而,如果clustering factor接近表中行的数量,
它意味着表中的行是随机排列,这种情况对于同样叶块中的索引块来说,
指向同样的数据块中的行是不可能的,因此它会导致更多的I/O来完成操作。
你可以采取rebuilding表来改善索引clustering factor,为了行根据索引键来排序,其后重建索引。
select id.index_name,tb.table_name,id.clustering_factor,tb.num_rows,tb.blocks
from dba_indexes id,dba_tables tb
where id.table_name=tb.table_name
and tb.table_name='XXXX'and tb.owner='&2'
select snap_id,dbid,end_time from (
select snap_id,dbid,to_char(end_interval_time,'yyyy-mm-dd hh24:mi:ss') end_time from dba_hist_snapshot
order by end_interval_time desc)
where rownum<100;
------PLSQL取AWR报告
select * from table(dbms_workload_repository.awr_report_html('203185647',1,175129,175130));
----创建快照
exec dbms_workload_repository.create_snapshot;
-----某个SQL在时间范围内的情况
select a.snap_id,c.begin_interval_time,c.end_interval_time,a.elapsed_time_delta/a.executions_delta/1000000 "S",a.sql_id,b.sql_text,a.buffer_gets_delta/a.executions_delta "buffer_gets/次",a.disk_reads_delta/a.executions_delta "disk_read/次" from dba_hist_sqlstat a, dba_hist_sqltext b,dba_hist_snapshot c
where a.sql_id=b.sql_id
and a.snap_id=c.snap_id
and a.sql_id='18ahw8aawvkbr'
and a.snap_id between 182723 and 184126
and a.executions_delta >0;
------
select s.instance_number,s.snap_id, to_char(sn.end_interval_time,'YYYYMMDD HH24:MI:SS'),s.plan_hash_value, s.executions_delta,
round(s.elapsed_time_delta/s.executions_delta) ,
round(s.disk_reads_delta/s.executions_delta) ,
round(s.BUFFER_GETS_delta/s.executions_delta) ,
round(s.CPU_TIME_delta/s.executions_delta),
round(s.ccwait_delta/s.executions_delta),
round(s.iowait_delta/s.executions_delta),
round(s.apwait_delta/s.executions_delta)
from dba_hist_snapshot sn, dba_hist_sqlstat s
where s.snap_id = sn.snap_id and s.sql_id='dd4rakddcp6tp'
and s.instance_number=sn.instance_number
and s.executions_delta>0
order by sn.end_interval_time desc;
select s.instance_number,s.snap_id, to_char(sn.end_interval_time,'YYYYMMDD HH24:MI:SS'),s.plan_hash_value, s.executions_delta,
round(s.elapsed_time_delta) ,
round(s.disk_reads_delta) ,
round(s.BUFFER_GETS_delta) ,
round(s.CPU_TIME_delta),
round(s.ccwait_delta),
round(s.iowait_delta),
round(s.apwait_delta)
from dba_hist_snapshot sn, dba_hist_sqlstat s
where s.snap_id = sn.snap_id and s.sql_id='6m8yzqna87n8t'
and s.instance_number=sn.instance_number
order by sn.end_interval_time desc;
select s.instance_number,s.snap_id, to_char(sn.end_interval_time,'YYYYMMDD HH24:MI:SS'),s.plan_hash_value, s.executions_delta,
round(s.elapsed_time_delta/s.executions_delta) elspsed_time ,
round(s.disk_reads_delta/s.executions_delta) disk_reads,
round(s.BUFFER_GETS_delta/s.executions_delta) BUFFER_GETS ,
round(s.CPU_TIME_delta/s.executions_delta) CPU_TIME,
round(s.ccwait_delta/s.executions_delta) ccwait_delta,
round(s.iowait_delta/s.executions_delta) iowait_delta,
round(s.apwait_delta/s.executions_delta) apwait_delta
from dba_hist_snapshot sn, dba_hist_sqlstat s
where s.snap_id = sn.snap_id and s.sql_id='1q6wcxm90w0tr'
and s.instance_number=sn.instance_number
and s.executions_delta>0
order by sn.end_interval_time desc;
----索引聚因子
在上述sql语句的输出结果中,如果dba_indexes.clustering_factor接近表中块的数量,
那么表中大多数行是排序的。这是期望的。
然而,如果clustering factor接近表中行的数量,
它意味着表中的行是随机排列,这种情况对于同样叶块中的索引块来说,
指向同样的数据块中的行是不可能的,因此它会导致更多的I/O来完成操作。
你可以采取rebuilding表来改善索引clustering factor,为了行根据索引键来排序,其后重建索引。
select id.index_name,tb.table_name,id.clustering_factor,tb.num_rows,tb.blocks
from dba_indexes id,dba_tables tb
where id.table_name=tb.table_name
and tb.table_name='XXXX'and tb.owner='&2'
阅读全文
0 0
- SQL获取AWR信息
- 使用SQL获取ASH/ADDM/AWR报告
- 使用SQL获取ASH/ADDM/AWR报告
- 收集AWR统计信息
- 获取客户信息SQL
- AWR中的SQL Statistics
- Scripts:打印执行计划中AWR的执行计划信息awr_plan_stats.sql
- 获取SQL Server属性信息
- SQL 获取数据库表信息
- AWR系列之二——AWR基础信息
- 导出和导入AWR的信息
- 导出和导入AWR的信息(ORACLE)
- AWR , DBMS_WORKLOAD_REPOSITORY,手工修改历史快照信息
- 修改oracle awr修改信息收集频率
- awr
- awr
- AWR
- AWR
- 【ML--02】第二课 线性回归
- Android-手机QQ浏览器耗电测试工具及方法介绍
- MyEclipse快捷键大全
- X2Go Client下载与使用(新手向)
- 统计每月订单数量并生成折线图
- SQL获取AWR信息
- Oracle日期转换处理
- TCP定时器
- 请求参数封装到JavaBean从入门到精通
- 13_ARM汇编自学笔记指令系统之批量数据加载存储指令
- adb命令大全
- 暑假学习--作业总结一
- 决策树(decision tree)的自我理解 (下) 关于剪枝和连续值缺失值处理
- 关于进制转换,16进制转10进制,其它进制转10进制