专栏首页Nicky's blogOracle AWRDD报告生成和性能分析

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:\oracle\product\11.2.0\dbhome_1\RDBMS\ADMIN\awrddm.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:\oracle\product\11.2.0\dbhome_1\RDBMS\ADMIN\awrdd.html

二、AWRDD报告性能分析

AWRDD的报告分析和AWR有些是类似的,不过都是不同时期的 (1) AWRDD之不同时期的load profile

(2) AWRDD之不同时期的等待事件

(3) AWRDD不同时期的TOP SQL对比

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JavaScript系列之回调函数callback

    听起来似乎有点不好理解,所以还是举例进行说明,介绍回调函数之前先简单说明一下同步和异步,前端也有同步和异步。同步和异步总得来说,两者最明显的区别就是是否需要等待...

    SmileNicky
  • 搭建本地SAE开发环境

    为了方便开发者测试开发,SAE提供了本地开发环境,能模拟SAE的大部分功能也服务,在本地开发测试,不用频繁上

    SmileNicky
  • 对象持久化API之JPA入门教程

    注意:JPA是规范,不是ORM框架,是ORM框架的规范,JPA没有实现ORM,具体实现由ORM厂商提供

    SmileNicky
  • C++核心准则​ES.71: 如果可以,使用范围for代替普通的for语句

    Readability. Error prevention. Efficiency.

    面向对象思考
  • 独特的考试:设计完整性和公正性评估(CS CY)

    在COVID-19大流行期间,教育人员在有效的课程评估中面临着前所未有的挑战,这是近年来前所未有的,转向远程在线学习。现在,代替典型的定期考试,教师必须重新考虑...

    啊瓜7706942
  • 决策树(Decision Tree)ID3算法

    决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点...

    统计学家
  • Manjaro

    Manjaro之前用过一段时间,后来一直在学习控制类器件,得用win所以荒废了一段时间,现在放假,正好再回来研究一下物联网方向,再用一用Manjaro。安排。。

    歪先生
  • 案例 | 机器学习案例实战:信用卡欺诈检测

    作者简介: 唐宇迪,深度学习领域多年一线实践研究专家,同济大学硕士。 主要研究深度学习领域,计算机视觉,图像识别。精通机器学习,热爱各种开源技术尤其人工智能方向...

    小莹莹
  • opencv 1-- getStructuringElement函数

    需要输入两个参数: 一个是原始图像, 一个被称为结构化元素或核,它是用来决定操作的性质的

    wust小吴
  • 使用Python统计文件下代码行数

    菲宇

扫码关注云+社区

领取腾讯云代金券