请注意,本文编写于 616 天前,最后修改于 571 天前,其中某些信息可能已经过时。
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报告性能对比简介