Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1936216
  • 博文数量: 389
  • 博客积分: 7877
  • 博客等级: 少将
  • 技术积分: 4532
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-10 14:02
文章分类

全部博文(389)

文章存档

2024年(1)

2022年(1)

2021年(1)

2020年(1)

2019年(1)

2018年(3)

2017年(6)

2016年(4)

2015年(8)

2014年(15)

2013年(31)

2012年(19)

2011年(47)

2010年(33)

2009年(105)

2008年(109)

2007年(4)

分类: Oracle

2014-12-29 22:13:46

一个AIX服务器下面AWR脚本

点击(此处)折叠或打开

  1. #!/bin/ksh

  2. . $HOME/.profile

  3. cd /home/oracle/AWR/

  4. rm -rf *.html

  5. sqlplus '/as sysdba'<

  6. set serveroutput on
  7. spool master_awr_control.sql
  8. declare
  9. cursor c is
  10. select to_char(s.startup_time,'dd Mon "at" HH24:mi:ss') instart_fmt
  11. , di.instance_name inst_name
  12. , di.instance_number instance_number
  13. , di.db_name db_name
  14. , di.dbid dbid
  15. , lag (s.snap_id,1,0) over (partition by di.instance_number order by s.snap_id) begin_snap_id
  16. , s.snap_id end_snap_id
  17. , to_char(s.begin_interval_time,'yyyymmddhh24mi') beginsnapdat
  18. , to_char(s.end_interval_time,'yyyymmddhh24mi') endsnapdat
  19. , s.snap_level lvl
  20. from dba_hist_snapshot s
  21. , dba_hist_database_instance di
  22. ,gv\$instance i
  23. ,v\$database d
  24. where s.dbid = d.dbid
  25. and di.dbid = d.dbid
  26. and s.instance_number = i.instance_number
  27. and di.instance_number = i.instance_number
  28. and di.dbid = s.dbid
  29. and di.instance_number = s.instance_number
  30. and di.startup_time = s.startup_time
  31. and s.begin_interval_time > trunc(sysdate -7) -- last last 7 days
  32. order by di.db_name, i.instance_name, s.snap_id;
  33. begin
  34. for c1 in c
  35. loop
  36. if c1.begin_snap_id > 0 then
  37. dbms_output.put_line('spool '||c1.inst_name||'_'
  38. ||c1.begin_snap_id||'_'||c1.end_snap_id||'_'||c1.beginsnapdat||'_'||c1.endsnapdat||'.html');
  39. dbms_output.put_line('select output from table(dbms_workload_repository.awr_report_html( '||c1.dbid||','||
  40. c1.instance_number||','||
  41. c1.begin_snap_id||','||
  42. c1.end_snap_id||',0 ));');
  43. dbms_output.put_line('spool off');
  44. end if;
  45. end loop;
  46. end;
  47. /
  48. spool off;
  49. set heading off
  50. set pages 50000
  51. set linesize 1500
  52. set trimspool on
  53. set trimout on
  54. set term off
  55. set verify off;
  56. set feedback off;
  57. @master_awr_control.sql
  58. EXIT;

  59. EOF

  60. rm -rf master_awr_control.sql

  61. DT=`date "+%Y%m%d"`
  62. tar -cvf AWR_TEXT_$DT.tar *.html
  63. gzip -f AWR_TEXT_$DT.tar

在初次执行这个AWR时,可能需要先将数据库中历史的AWR快照信息先删除掉,可以参考下面步骤:
2.2.1.1 删除本机的AWR 快照

SQL> select dbid, retention fromdba_hist_wr_control;

 

     DBID RETENTION

---------- --------------------

 879543530 +00008 00:00:00.0

 

SQL> selectmin(snap_id), max(snap_id) from dba_hist_snapshot where dbid = 879543530;

MIN(SNAP_ID)MAX(SNAP_ID)

------------------------

         161          176

 

SQL> execdbms_workload_repository.drop_snapshot_range(161, 176, 879543530)

PL/SQL proceduresuccessfully completed.

 

SQL> select *from dba_hist_snapshot where dbid = 879543530;

no rows selected



上面的内容来自于:http://blog.csdn.net/tianlesoftware/article/details/17286523
阅读(1498) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~