AWR及ASH日常使用
1. AWR和ASH简介
AWR用于过去一段时间数据库性能及故障分析,搜集分析指标
ASH用于当前1小时内数据库性能情况分析
2. 如何生成Awr及Ash报告
@?/rdbms/admin/awrrpt 本实例
@?/rdbms/admin/awrrpti RAC 中选择实例号
awrrpt.sql :生成指定快照区间的统计报表;
awrrpti.sql :生成指定数据库实例,并且指定快照区间的统计报表;
awrsqlrpt.sql :生成指定快照区间,指定SQL语句(实际指定的是该语句的SQLID)的统计报表;
awrsqrpi.sql :生成指定数据库实例,指定快照区间的指定SQL语句的统计报表;
awrddrpt.sql :指定两个不同的时间周期,生成这两个周期的统计对比报表;
awrddrpi.sql :指定数据库实例,并指定两个的不同时间周期,生成这两个周期的统计对比报表;
1) 例1生成Awr报告示例
使用自带脚本生成:



使用ora脚本生成:

2) 例2生成Ash报告示例
使用自带脚本生成:


使用ora脚本生成:

3. 常用AWR管理
1)快照存储基表查询
查看有多少个快照
select count(1) from wrh$_active_session_history;select count(1) from dba_hist_active_sess_history;
通过查询视图DBA_HIST_SNAPSHOT,可以知道系统中产生了哪些快照。
select * from DBA_HIST_SNAPSHOT;
数据存储位置:
select table_name from dba_tables where table_name like 'WRM$%';
2)普通用户赋权方式管理AWR
create user awr_user identified by "awr_user";grant execute on DBMS_WORKLOAD_REPOSITORY to awr_user;grant execute on DBMS_ADVISOR to awr_user;grant select any dictionary to awr_user;grant connect,ADVISOR to awr_user;
3)AWR日志保留策略调整
查看AWR策略:
col SNAP_INTERVAL format a20col RETENTION format a20select * from dba_hist_wr_control;
修改AWR配置:
exec dbms_workload_repository.modify_snapshot_settings(interval=>60, retention=>7*24*60);
4)AWR快照创建与删除
手工生成AWR快照:
BEGINDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();END;
手工删除快照:
exec DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(low_snap_id => 973, high_snap_id => 999, dbid => 262089084);
ASH报告分析简介



AWR报告分析简介
1. AWR报告总体情况查看

备注:Average Active Session AAS= DB time/Elapsed Time 是否大于1初步判断

备注:初步判断IO情况及SQL执行情况

备注:根据前面几位的等待事件,分析相应的SQL

备注:示例若想看SQL信息,直接点SQL Statistics即可

2. AWR报告SQL情况查看


3. AWR报告实例情况查看


备注:按不同维度(逻辑读,物理读,表情况)罗列的统计信息情况

4. AWR新增ASH TOPSQL信息



AWR报告性能对比简介
1. 如何生成性能对比报告



2. AWR对比报告简要分析




更多精彩干货分享
点击下方名片关注
IT那活儿





