zoukankan      html  css  js  c++  java
  • 调用生成通过存储过程自动生成AWR报告

    改章节是一篇关于调用生成的帖子

        以下是存储过程内容:

    CREATE OR REPLACE PROCEDURE sp_auto_awrreport(reporttime varchar2 default null,
                                                  rpt_interval number default 2) 
    AS
    ----用处:主动生成AWR报告
    ----创建人:cavlin
    ----创建日期:20130210
    ----reporttime 报告结束时光
    ----rpt_interval 报告间隔 1:30分钟,2:60分钟
    start_snap number;
    end_snap number;
    start_time varchar2(14);
    end_time varchar2(14);
    awr_file utl_file.file_type;
    n_dbid  number;
    
    BEGIN
    
      if reporttime is null then
        ---查询最大的快照id
        select max(snap_id) into end_snap from dba_hist_snapshot;
        start_snap:=end_snap-rpt_interval;
      else
        ---取输入时光对应的snap_id
        select snap_id
        into end_snap
        from dba_hist_snapshot
       where to_char(end_interval_time, 'yyyymmddhh24mi') = reporttime
         and instance_number = 1;
        start_snap:=end_snap-rpt_interval;
      end if;
    
    ---格式化快照时光
      select dbid,to_char(end_interval_time-rpt_interval/48, 'yyyymmddhh24mi'),to_char(end_interval_time, 'yyyymmddhh24mi')
            into n_dbid,start_time,end_time
        from dba_hist_snapshot
       where snap_id = end_snap and instance_number=1;
    
    ---实例1
      awr_file:=utl_file.fopen('DIR_AWRREPORT','AWR_NODE1_'||start_time||'_'||end_time||'.html', 'a',32767);
      for awr_info in (select output from table(dbms_workload_repository.awr_report_html(n_dbid,1,start_snap,end_snap,0))) loop
      UTL_FILE.put_line(awr_file,awr_info.output);
      end loop;
      utl_file.fclose(awr_file);
    
    ---实例2
      awr_file:=utl_file.fopen('DIR_AWRREPORT','AWR_NODE2_'||start_time||'_'||end_time||'.html', 'a',32767);
      for awr_info in (select output from table(dbms_workload_repository.awr_report_html(n_dbid,2,start_snap,end_snap,0))) loop
      UTL_FILE.put_line(awr_file,awr_info.output);
      end loop;
      utl_file.fclose(awr_file);
    
    END sp_auto_awrreport;
        每日一道理
    微笑着,去唱生活的歌谣,不要埋怨生活给予了太多的磨难,不必抱怨生命中有太多的曲折。大海如果失去了巨浪的翻滚,就会失去雄浑;沙漠如果失去了飞沙的狂舞,就会失去壮观。人生如果仅去求得两点一线的一帆风顺,生命也就失去了存在的意义。

        
    可以直接在数据库中调用,也可以通过shell调用:

    cat  /opt/cron/autoawr.sh
    #!/bin/bash
    
    sqlplus / as sysdba << EOF
    exec sp_auto_awrreport;
    exit
    EOF
    
    find /opt/awrreport/  -mtime +7 -name *.html -exec rm -f {} \;

        
    通过crontab调用:

    $ crontab -l
    05 22 * * * sh /opt/cron/autoawr.sh

        这样每天22点05分就会在/opt/awrreport目录主动生成21:00--22:00的awr报告了。

    文章结束给大家分享下程序员的一些笑话语录: 程序员的愿望
      有一天一个程序员见到了上帝.上帝: 小伙子,我可以满足你一个愿望.程序员: 我希望中国国家队能再次打进世界杯.
      上帝: 这个啊!这个不好办啊,你还说下一个吧!
      程序员: 那好!我的下一个愿望是每天都能休息6个小时以上.
      上帝: 还是让中国国家打进世界杯.

  • 相关阅读:
    【LINUX编程】一个基于C/S结构的简单通讯程序
    【LINUX内核】LINUX内核编译
    C语言中的auto, static, const, extern, register, restrict, volatile 关键字
    【LINUX编程】Makefile的基本介绍
    【LINUX编程】关于man的详细用法
    DOTween动画插件详解
    cas server端的loginwebflow详细流程
    Linux SSH远程文件/目录传输命令scp
    C#去掉字符串中特定ASC码字符
    解決 Flash 蓋住彈出目錄的方法(转载)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3076771.html
Copyright © 2011-2022 走看看