Oracle 手工生成AWR报告

一、手工生成awr报告的方法

1、相应权限用户登录(sysdba)后,在$ORACLE_HOME/rdbms/admin

2、在sqlplus里执行@?/rdbms/admin/awrrpt.sql,按照提示操作。

3、生成AWR报告说明

单实例:@$ORACLE_HOME/rdbms/admin/awrrpt.sql

RAC:@$ORACLE_HOME/rdbms/admin/awrgrpt.sql

生成RAC特定实例:@$ORACLE_HOME/rdbms/admin/awrrpti.sql

生成RAC多个实例的报告:@$ORACLE_HOME/rdbms/admin/awrgrpti.sql

生成SQL的AWR报告:@$ORACLE_HOME/rdbms/admin/awrsqrpt.sql

生成特定实例的SQL的awr报告:@$ORACLE_HOME/rdbms/admin/awrsqrpi.sql

生成单实例时段对比报告:@$ORACLE_HOME/rdbms/admin/awrddrpt.sql

生成RAC时段对比报告:@$ORACLE_HOME/rdbms/admin/awrgdrpt.sql

生成特定实例的时段对比报告:@$ORACLE_HOME/rdbms/admin/awrddrpi.sql

生成RAC特定多实例时段对比报告:@$ORACLE_HOME/rdbms/admin/awrgdrpi.sql

注意:目录一定要有Oracle权限。

二、AWR报告管理

1.查看当前的AWR保存策略、设置:快照间隔、保存时间。

SQL> col SNAP_INTERVAL format a20

SQL> col RETENTION format a20

SQL> select * from dba_hist_wr_control;

2、调整AWR配置,修改快照间隔和保存时间等。AWR配置都是通过dbms_workload_repository包进行配置。

调整AWR产生snapshot的频率和保留策略,  如将收集间隔时间改为30 分钟一次。并且保留5天时间(单位都是分钟):

SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>5*24*60);

3、关闭AWR报告

关闭AWR,把interval设为0则关闭自动捕捉快照

SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>0);

4、手工创建一个快照

exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

5、查看快照

SQL> select * from sys.wrh$_active_session_history

6、手工指定删除快照的范围

SQL> exec DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(low_snap_id => 973, high_snap_id => 999, dbid => 262089084);

7、创建baseline,保存这些数据用于将来分析和比较

SQL> exec dbms_workload_repository.create_baseline(start_snap_id => 1003, end_snap_id => 1013, 'apply_interest_1');

8、删除baseline

SQL> exec DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE(baseline_name => 'apply_interest_1', cascade => FALSE);

9、将AWR数据导出并迁移到其它数据库以便于以后分析

SQL> exec DBMS_SWRF_INTERNAL.AWR_EXTRACT(dmpfile => 'awr_data.dmp', mpdir => 'DIR_BDUMP', bid => 1003, eid => 1013);

10、迁移AWR数据文件到其他数据库

  exec DBMS_SWRF_INTERNAL.AWR_LOAD(SCHNAME => 'AWR_TEST', dmpfile => 'awr_data.dmp', dmpdir => 'DIR_BDUMP');

  其中把AWR数据转移到SYS模式中:SQL> exec DBMS_SWRF_INTERNAL.MOVE_TO_AWR (SCHNAME => 'TEST');

11、生成第一份awr报告

exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (flush_level=>'ALL');

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、是什么:AWR (Automatic Workload Repository) 是自动负载信息库的英文缩写,A...
    air_b10f阅读 14,232评论 0 3
  • 1、手动创建Snapshots exec dbms_workload_repository.create_snap...
    gydtep阅读 1,467评论 0 0
  • [TOC] 一、AWE报告生成步骤 对于SQL调优,局部SQL,我们可以直接使用执行计划等直接调优,而对于整个系统...
    smileNicky阅读 11,487评论 0 2
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,592评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,222评论 4 8