1.查看当前的AWR保存策略
select * from dba_hist_wr_control;
DBID,SNAP_INTERVAL,RETENTION,TOPNSQL
860524039,+00 01:00:00.000000,+07 00:00:00.000000,DEFAULT
以上结果表示,每小时产生一个SNAPSHOT,保留7天
2.调整AWR配置
AWR配置都是通过dbms_workload_repository包进行配置
2.1调整AWR产生snapshot的频率和保留策略,如:如将收集间隔时间改为30 分钟一次。并且保留5天时间(单位都是为分钟):
exec dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>5*24*60);
2.2关闭AWR,把interval设为0则关闭自动捕捉快照
是不是?
exec dbms_workload_repository.modify_snapshot_settings(interval=>0);
2.3手工创建一个快照
exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
2.4 查看快照
select * from sys.wrh$_active_session_history
2.5手工删除指定范围的快照
exec WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(low_snap_id => 22, high_snap_id => 32, dbid => 3310949047);
2.6创建baseline
exec dbms_workload_repository.create_baseline (START_SNAP_ID => 56,END_SNAP_ID =>59,BASEKLINE_NAME => 'test_baseline',dbid =>222552555) end;
2.7删除baseline
exec DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE(baseline_name => ' apply_interest_1', cascade => FALSE);
3.生成AWR报告
$ORACLE_HOME/rdbms/admin/awrrpt.sql
AWR Report主要看以下几项:
1. 生成Report的时间,两次snapshot的时间必须包括问题发生的时间。
2. Buffer Hit,也就是缓存命中率一项,如果低于90%则说明有问题。
3. Top 5 Event ,从这里能够知道在报告时间内最消耗时间的前5个事件。每次都是变化的,要根据不同事件作不同分析,常见的事件见附件。
4. Top SQL ,这里有按照执行时间的排序,也有按照消耗CPU资源的排序,都需要看,通过这个可以看到那些SQL在长时间执行。
生成AWR Report
1. 以oracle用户登陆server
2. cd到 /oracle/product/10.2.0/rdbms/admin/
3. 以sysdba登陆sqlplus
4. 运行awrrpt.sql,report type输入html格式
5. num_days输入值为5
6. 输入begin_snap end_snap&report_name
7. exit到os层面,cd /tmp,即可察看到此文件(awrrpt_1_1994_1995.html)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23490498/viewspace-676532/ ,如需转载,请注明出处,否则将追究法律责任。