[Oracle]-性能优化工具(1)-AWR

awr快照

默认情况下,oracle每隔一小时会自动产生一个快照,保存最近8天的快照。

我们可以通过如下语句获得产生快照的时间间隔和保存的天数:

sys@orcl(lx15)> select snap_interval,retention from dba_hist_wr_control;

snap_interval                                                               retention
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
+00000 01:00:00.0                                                           +00008 00:00:00.0

可以通过如下语句修改这两个值(以分钟为单位):

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

当然,你也可以随时手动产生一个快照: 

exec dbms_workload_repository.create_snapshot;

awr报告生成

有了快照之后,就可以生成awr报告了,你用sysdba执行如下命令,根据提示一步一步操作即可:

@?/rdbms/admin/awrrpt.sql

还有一种方法是直接调用oralce的包,这个方法适合用在写自动获取脚本工具的场景,如下所示:

set pagesize 0
set linesize 121
spool d:\awr_commit_frequently.html

select output from table(dbms_workload_repository.awr_report_html(977587123,1,1920,1921));
spool off

注:
dbms_workload_repository.awr_report_html(
   l_dbid       in    number,
   l_inst_num   in    number,
   l_bid        in    number,
   l_eid        in    number,
   l_options    in    number default 0)
 return awrrpt_text_type_table pipelined;
(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐