• [原]批量生成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报告了。

  • 相关阅读:
    POJ 3009 Curling 2.0 简单DFS 好题
    POJ 3253 Fence Repair 贪心
    python_13 面向对象
    python_12 模块
    python练习题_04
    python_11 装饰器,闭包
    python练习题_03
    python_10 迭代器和生成器
    python_09 文件处理流程,文件操作方法
    python_08 函数式编程、高阶函数、map、filter、reduce函数、内置函数
  • 原文地址:https://www.cnblogs.com/killkill/p/1923809.html
Copyright © 2020-2023  润新知