oracle用dbms_workload_repository取AWR报告方法

13 篇文章 0 订阅
2 篇文章 0 订阅

我们可以使用awrrpt.sql脚本在服务器端生成AWR报告,这里我们说说如何使用DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML生成AWR报告,可以在服务器和客户端使用。

取AWR方法

1、根据取AWR报告的时间范围,查出快照ID;

SELECT *
  FROM DBA_HIST_SNAPSHOT T
 WHERE T.END_INTERVAL_TIME >=
       TO_DATE('2017-10-09 09:00:00', 'yyyy-MM-dd hh24:mi:ss')
   AND T.END_INTERVAL_TIME <=
       TO_DATE('2017-10-09 10:01:00', 'yyyy-MM-dd hh24:mi:ss')
 ORDER BY SNAP_ID;

查询结果如下:
这里写图片描述
从截图中可以看出oracle是15min生成一次快照

2、利用第一步的END_INTERVAL_TIME,SNAP_ID,DBID,INSTANCE_NUMBER生成报告

SELECT *
  FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(1700577032,
                                                      1,
                                                      38247,
                                                      38251,
                                                      0));
或者:
SELECT DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(1700577032,
                                                      1,
                                                      38247,
                                                      38251,
                                                      0) FROM dual;    

3、把结果粘贴到一个txt中,比如a.txt保存退出。然后改此文件后缀为html,比如a.html. 最后用浏览器打开a.html即可 ,如果需要生成txt格式的报告,则用DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT这个函数即可
报告截图:
这里写图片描述

生成对比的AWR报告

1、同样的,根据取AWR报告的时间范围,查出快照ID
2、利用下面的函数取出报告,导出即可

SELECT DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTML(1700577032,
                                                     1,
                                                     38247,
                                                     38251,
                                                     1700577032,
                                                     1,
                                                     38151,
                                                     38155)
  FROM DUAL;

报告截图:
这里写图片描述

相关函数

--生成html格式的awr报告
FUNCTION AWR_REPORT_HTML(L_DBID IN NUMBER,      --database ID number
                         L_INST_NUM IN NUMBER,  --instance number
                         L_BID IN NUMBER,       --开始的快照ID,在dba_hist_snapshot里找
                         L_EID IN NUMBER,       --结束的快照ID,在dba_hist_snapshot里找
                         L_OPTIONS IN NUMBER DEFAULT 0)
 RETURN AWRRPT_HTML_TYPE_TABLE
  PIPELINED;

--生成txt格式的awr报告
FUNCTION AWR_REPORT_TEXT(L_DBID IN NUMBER,      --database ID number                         
                         L_INST_NUM IN NUMBER,  --instance number                                      
                         L_BID IN NUMBER,       --开始的快照ID,在dba_hist_snapshot里找
                         L_EID IN NUMBER,       --结束的快照ID,在dba_hist_snapshot里找
                         L_OPTIONS IN NUMBER DEFAULT 0)
 RETURN AWRRPT_TEXT_TYPE_TABLE
  PIPELINED;

--生成对比的awr报告
FUNCTION AWR_DIFF_REPORT_HTML(DBID1     IN NUMBER,
                              INST_NUM1 IN NUMBER,
                              BID1      IN NUMBER,
                              EID1      IN NUMBER,
                              DBID2     IN NUMBER,
                              INST_NUM2 IN NUMBER,
                              BID2      IN NUMBER,
                              EID2      IN NUMBER)
  RETURN AWRRPT_HTML_TYPE_TABLE
  PIPELINED;
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值