zoukankan      html  css  js  c++  java
  • [原]批量生成AWR报告

          AWR可以方便快捷地对数据库的运行情况有个大致的了解,生成AWR报告也很容易,执行一下在sqlplus 中执行一下$ORACLE_HOME/rdbms/admin/awrrpt.sql然后按照提示填写好相关参数就可以生成AWR报告了。

          近日一个师弟问起是否可以批量生成,这也是一个很不错的需求啊,粗略看了一下awrrpt.sql,最终是调用dbms_workload_repository.awr_report_text或者dbms_workload_repository.awr_report_html,于是实现了一个山寨版,非常粗糙。

          由于可能产生很多份AWR报告,所以建议先建好一个目录。

    mkdir myawr
    cd myawr
    sqlplus / as sysdba

          将以下内容复制到sqlplus中就可以了:

    set linesize 120 ;
    set pagesize 0;
    set long 99999;
    set heading off;
    set termout off;
    set echo off;
    set feedback off;
    set timing off;
    
    select 
    'spool my_awrrpt_'||snap_id||'_'||(snap_id+1)||'.html'||chr(10)||
    'select output '||chr(10)||
    '  from table(dbms_workload_repository.awr_report_text('||dbid||',1,'||snap_id||','||(snap_id+1)||'));'||chr(10)||
    'spool off;'||chr(10)
    from dba_hist_snapshot
    where snap_id between 14866 and 14966 -1 and dbid=2594854151
    ----                  ^^^^^     ^^^^^             ^^^^^^^^^^ DB ID
    ----                  填入开始和结束的snapshot id
    ----  跑一次 ?/rdbms/admin/awrrpt.sql 就可以知道这些信息 了
    
    ---- 上面的空行不能删-----
    spool my_awr.sql;
    /
    spool off ;
    @my_awr.sql
    ---- 这里要等一段时间,多敲几下回车以保证上面的语句都执行 ---
    
    exit;

          此时当前目录中就会生成一堆awr报告了。

  • 相关阅读:
    jstat命令-帮助优化java性能
    使用nginx搭建简单文件服务器
    JVM初探
    fastDFS shiro权限校验 redis FreeMark页面静态化
    spring AOP
    Java多线程并发
    js插件之Ocupload
    Jquery总结
    shell
    Linux(二)
  • 原文地址:https://www.cnblogs.com/killkill/p/1923809.html
Copyright © 2011-2022 走看看