• Oracle AWRDD报告生成和性能分析


    我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315

    对于局部的,比如某个页面列表sql,我们可以使用Oracle的执行计划进行sql调优,但是对于整个系统来说,你可以知道哪些sql比较耗时?当然可以通过查Oracle的共享池得到,不过Oracle系统本身就提供了几种性能分析报告,比如AWR、ASH、ADDM、AWRDD等等报告,本博客介绍一下AWRDD性能分析报告

    AWRDD报告是Oracle针对不同时段的性能的一个比对报告

    一、ADDM报告生成

    继之前AWR、ASH方面的博客之后,https://smilenicky.blog.csdn.net/article/details/89414432,https://smilenicky.blog.csdn.net/article/details/89419185,我再写一篇ADDM方面的博客:

    1.1 工具选择

    对于Oracle数据库可以使用sqlplus或者plsql developer客户端软件
    sqlplus 使用
    可以使用sqlplus工具登录
    进入数据库

    sqlplus / as sysdba
    

    查看用户

    show parameter db_name
    

    用登录之后才可以使用
    plsql developer使用
    plsql developer也可以使用,登录之后,选择文件(File)->新建(New)->命令窗口(Command Window)
    在这里插入图片描述

    1.2 自动创建快照

    开始压测后执行

    exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
    

    可以通过dba_hist_wr_control查看当前的配置情况,当前awr为每1小时做一次数据快照,保留时间为8天。

     select * from dba_hist_wr_control;
    

    在这里插入图片描述
    修改配置,每隔30分钟收集一次,保存1天

    execute dbms_workload_repository.modify_snapshot_settings(interval=>30,retention=>14000);
    

    关闭自动收集

    SQL>exec dbms_workload_repository.modify_snapshot_settings (interval=>0,retention=>24*60);
    

    1.3 手工创建快照

    除了自动创建快照,也可以手工创建快照

    select dbms_workload_repository.create_snapshot() from dual;
    

    1.4 AWRDD报告生成

    对于sqlplus客户端的可以使用

    @?/rdbms/admin/awrddrpt.sql
    

    对于plsql客户端,我用绝对路径去执行,@?的命令找不到文件
    这个要根据自己的Oracle安装路径去修改,例如:

        @D:/oracle/product/11.1.0/db_1/RDBMS/ADMIN/awrddrpt.sql
    

    (1)快照报告格式
    Enter value for report_type:html
    有两种格式html和txt,这里选择html
    (2)快照搜集天数
    Enter value for num_days:1
    快速搜集的天数,这里可以填个数字
    (3)快照开始id1

    Enter value for begin_snap:449

    要根据日志打印的快照id范围来填,所以我可以填写:449

    (4)快照结束id1

    Enter value for end_snap:451

    要根据日志打印的快照id范围来填,所以我可以填写:451
    (5)快照收集天数2
    Enter value for num_days2:1
    快照收集天数,这里也可以填个数字,主要是来对比
    (6)快速开始id2
    Enter value for begin_snap2:450
    也要在日志打印的范围内取:这里取450
    (7)快照结束id2
    Enter value for end_snap2:452
    也要在日志打印的范围内取:这里取452
    (8)AWRDD报告名称

    Enter value for report_name

    填写ADDM报告的名称,我可以填写awrdd_20190421.html,然后在打印的日志里有文件保存的路径:,比如:D:oracleproduct11.2.0dbhome_1RDBMSADMINawrddm.html

    SQL> @D:/oracle/product/11.2.0/dbhome_1/RDBMS/ADMIN/awrddrpt.sql
    Current Instance
    ~~~~~~~~~~~~~~~~
          DBID      DBID2 DB_NAME      INST_ INST_ INST_NAME
    ---------- ---------- ------------ ----- ----- ------------
    1525762377 1525762377 ORCL             1     1 orcl
    rpt_options
    ---------
    0
    Specify the Report Type
    ~~~~~~~~~~~~~~~~~~~~~~~
    Would you like an HTML report, or a plain text report?
    Enter 'html' for an HTML report, or 'text' for plain text
    Defaults to 'html'
    Type Specified:  html
    Cannot SET TRIMSPOOL
    Cannot SET UNDERLINE
    Instances in this Workload Repository schema
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    DBBID        INSTT DBB_NAME     INSTT_NAME   HOST
    ------------ ----- ------------ ------------ ------------
    * 1525762377     1 ORCL         orcl         PC-201508171
                                                 906
    Database Id and Instance Number for the First Pair of Snapshots
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Using 1525762377 for Database Id for the first pair of snapshots
    Using 1 for Instance Number for the first pair of snapshots
    dbid
    ---------
    1525762377
    inst_num
    ---------
    1
    inst_num
    ---------
    1
    dbid
    ---------
    1525762377
    max_snap_time
    ---------
    21/04/2019
    Specify the number of days of snapshots to choose from
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Entering the number of days (n) will result in the most recent
    (n) days of snapshots being listed.  Pressing <return> without
    specifying a number lists all completed snapshots.
    Listing the last day's Completed Snapshots 
    INST_NAME    DB_NAME       SNAP_ID SNAPDAT            LV
    ------------ ------------ -------- ------------------ --
    orcl         ORCL              448 21 Apr 2019 10:38   1
    orcl         ORCL              449 21 Apr 2019 12:00   1
    orcl         ORCL              450 21 Apr 2019 13:00   1
    orcl         ORCL              451 21 Apr 2019 14:00   1
    orcl         ORCL              452 21 Apr 2019 15:00   1
    dbid
    ---------
    1525762377
    inst_num
    ---------
    1
    dbid
    ---------
    1525762377
    bid
    ---------
    449
    eid
    ---------
    451
    Specify the number of days of snapshots to choose from
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Entering the number of days (n) will result in the most recent
    (n) days of snapshots being listed.  Pressing <return> without
    specifying a number lists all completed snapshots.
    Listing the last day's Completed Snapshots 
    INST_NAME    DB_NAME       SNAP_ID SNAPDAT            LV
    ------------ ------------ -------- ------------------ --
    orcl         ORCL              448 21 Apr 2019 10:38   1
    orcl         ORCL              449 21 Apr 2019 12:00   1
    orcl         ORCL              450 21 Apr 2019 13:00   1
    orcl         ORCL              451 21 Apr 2019 14:00   1
    orcl         ORCL              452 21 Apr 2019 15:00   1
    dbid2
    ---------
    1525762377
    inst_num2
    ---------
    1
    max_snap_time
    ---------
    21/04/2019
    inst_num2
    ---------
    1
    dbid2
    ---------
    1525762377
    max_snap_time
    ---------
    21/04/2019
    Specify the Second Pair of Begin and End Snapshot Ids
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Second Begin Snapshot Id specified: 450
    Second End   Snapshot Id specified: 452
    bid2
    ---------
    450
    eid2
    ---------
    452
    inst_num2
    ---------
    1
    dbid2
    ---------
    1525762377
    bid2
    ---------
    450
    eid2
    ---------
    452
    Specify the Report Name
    ~~~~~~~~~~~~~~~~~~~~~~~
    The default report file name is awrdiff_1_449_1_450.html  To use this name,
    press <return> to continue, otherwise enter an alternative.
    Using the report name awrdd.html 
    Started spooling to D:oracleproduct11.2.0dbhome_1RDBMSADMINawrdd.html
    

    二、AWRDD报告性能分析

    AWRDD的报告分析和AWR有些是类似的,不过都是不同时期的
    (1) AWRDD之不同时期的load profile
    在这里插入图片描述

    (2) AWRDD之不同时期的等待事件
    在这里插入图片描述
    (3) AWRDD不同时期的TOP SQL对比
    在这里插入图片描述

  • 相关阅读:
    IOS开发系列之阿堂教程:玩转IPhone客户端和Web服务端交互(客户端)实践
    详解基于linux环境MySQL搭建与卸载
    详解Redis基本命令
    浅谈基于Linux的Redis环境搭建
    浅谈Linux基本命令
    浅谈基于Intellij IDEA Maven的配置与使用
    浅谈SpringMVC执行过程
    浅析关于java的一些基础问题(上篇)
    软件架构应关心的若干要素
    详解mybatis映射配置文件
  • 原文地址:https://www.cnblogs.com/mzq123/p/10745355.html
Copyright © 2020-2023  润新知