Oracle-awrddrpt.sql比较两个AWR差异报告

简介: Oracle-awrddrpt.sql比较两个AWR差异报告

概述


awrddrpt.sql脚本位于$ORACLE_HOME/rdbms/admin目录中。


awrddrpt.sql脚本比较两个时间段的AWR报告。


这个脚本的交互部分最重要的就是需要输入要进行对比的两个awr报告的begin snap_id与end snap_id


一旦收集到四个快照号码,awrddrpt.sql脚本将创建两个AWR报告,然后比较这两个报告。awrddrpt.sql脚本对于比较两个经过时间段内的性能非常有用。


示例


我们打算比对3月30号00:00~01:00 和 3月31号00:00~01:00这两个时间段的AWR


oracle用户登录到数据库主机执行脚本

.....
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Sat Mar 31 09:48:24 2018 from 172.25.21.204
Oracle Corporation      SunOS 5.10      Generic Patch   January 2005
You have new mail.
##处于安全的考虑,以nolog的方式登录
ocsdb01:[/oracle$]sqlplus /nolog          
SQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 31 11:23:08 2018
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
## 登录特定的用户,输入密码
SQL> connect cc@PR_CC
Enter password: 
Connected.
## 执行awrddrpt脚本
SQL> @?/rdbms/admin/awrddrpt
Current Instance
~~~~~~~~~~~~~~~~
   DB Id       DB Id    DB Name      Inst Num Inst Num Instance
----------- ----------- ------------ -------- -------- ------------
 2143881171  2143881171 CC                  1        1 cc
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'
## 默认html
Enter value for report_type: 
Type Specified:  html
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   DB Id     Inst Num DB Name      Instance     Host
------------ -------- ------------ ------------ ------------
* 2143881171        1 CC           cc           ocsdb01
Database Id and Instance Number for the First Pair of Snapshots
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using 2143881171 for Database Id for the first pair of snapshots
Using          1 for Instance Number for the first pair of snapshots
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.
#因为今天是31号,我们只需要输入2天时间范围就可以获取到3月30号00:00~01:00的快照
Enter value for num_days: 2
Listing the last 2 days of Completed Snapshots
                                                        Snap
Instance     DB Name        Snap Id    Snap Started    Level
------------ ------------ --------- ------------------ -----
cc           CC               10080 30 Mar 2018 00:00      1
                              10081 30 Mar 2018 01:00      1
                              10082 30 Mar 2018 02:00      1
                              10083 30 Mar 2018 03:00      1
                              10084 30 Mar 2018 04:00      1
                              10085 30 Mar 2018 05:00      1
                              10086 30 Mar 2018 06:00      1
                              10087 30 Mar 2018 07:00      1
                              10088 30 Mar 2018 08:00      1
                              10089 30 Mar 2018 09:00      1
                              10090 30 Mar 2018 10:00      1
                              10091 30 Mar 2018 11:00      1
                              10092 30 Mar 2018 12:00      1
                              10093 30 Mar 2018 13:00      1
                              10094 30 Mar 2018 14:00      1
                              10095 30 Mar 2018 15:00      1
                              10096 30 Mar 2018 16:00      1
                              10097 30 Mar 2018 17:00      1
                              10098 30 Mar 2018 18:00      1
                              10099 30 Mar 2018 19:00      1
                              10100 30 Mar 2018 20:00      1
                              10101 30 Mar 2018 21:00      1
                              10102 30 Mar 2018 22:00      1
                              10103 30 Mar 2018 23:00      1
                              10104 31 Mar 2018 00:00      1
                              10105 31 Mar 2018 01:00      1
                              10106 31 Mar 2018 02:00      1
                              10107 31 Mar 2018 03:00      1
                              10108 31 Mar 2018 04:00      1
                              10109 31 Mar 2018 05:00      1
                              10110 31 Mar 2018 06:00      1
                              10111 31 Mar 2018 07:00      1
                              10112 31 Mar 2018 08:00      1
                              10113 31 Mar 2018 09:00      1
                              10114 31 Mar 2018 10:00      1
                              10115 31 Mar 2018 11:00      1
Specify the First Pair of Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## 选择开始的快照
Enter value for begin_snap: 10080
First Begin Snapshot Id specified: 10080
## 选择结束的快照
Enter value for end_snap: 10081
First End   Snapshot Id specified: 10081
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   DB Id     Inst Num DB Name      Instance     Host
------------ -------- ------------ ------------ ------------
* 2143881171        1 CC           cc           ocsdb01
Database Id and Instance Number for the Second Pair of Snapshots
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using 2143881171 for Database Id for the second pair of snapshots
Using          1 for Instance Number for the second pair of snapshots
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.
#因为今天是31号,我们只需要输入1天时间范围就可以获取到3月31号00:00~01:00
Enter value for num_days2: 1
Listing the last day's Completed Snapshots
                                                        Snap
Instance     DB Name        Snap Id    Snap Started    Level
------------ ------------ --------- ------------------ -----
cc           CC               10104 31 Mar 2018 00:00      1
                              10105 31 Mar 2018 01:00      1
                              10106 31 Mar 2018 02:00      1
                              10107 31 Mar 2018 03:00      1
                              10108 31 Mar 2018 04:00      1
                              10109 31 Mar 2018 05:00      1
                              10110 31 Mar 2018 06:00      1
                              10111 31 Mar 2018 07:00      1
                              10112 31 Mar 2018 08:00      1
                              10113 31 Mar 2018 09:00      1
                              10114 31 Mar 2018 10:00      1
                              10115 31 Mar 2018 11:00      1
Specify the Second Pair of Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## 选择开始的快照
Enter value for begin_snap2: 10104
Second Begin Snapshot Id specified: 10104
## 选择结束的快照
Enter value for end_snap2: 10105
Second End   Snapshot Id specified: 10105
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrdiff_1_10080_1_10104.html  To use this name,
press <return> to continue, otherwise enter an alternative.
## 输入awr报告名称
Enter value for report_name: artisan_awr_diff_rpt
Using the report name artisan_awr_diff_rpt
......省略输出过程
......
......
</body></html>
Report written to artisan_awr_diff_rpt
## 退出
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ocsdb01:[/oracle$]
## 当前目录下查找输出的报告
ocsdb01:[/oracle$]ls artisan_awr_diff_rpt*
artisan_awr_diff_rpt.lst
ocsdb01:[/oracle$]


查看报告


20180331234608920.png


相关文章
|
Oracle 关系型数据库 数据库
Oracle 11G常见性能诊断报告(AWR/ADDM/ASH)收集
Oracle 11G常见性能诊断报告(AWR/ADDM/ASH)收集
332 0
|
1月前
|
Oracle 安全 关系型数据库
Oracle与GreatSQL差异:更改唯一索引列
【11月更文挑战第1天】本文介绍了在 Oracle 和 GreatSQL 中更改唯一索引列的方法及差异。Oracle 需要手动删除和重建索引,过程复杂且可能影响数据一致性;而 GreatSQL 可以自动维护索引,直接修改列值即可,操作简便且更安全。
|
1月前
|
SQL Oracle 关系型数据库
Oracle与GreatSQL差异:更改唯一索引列
【11月更文挑战第11天】本文介绍了在 Oracle 和 GreatSQL 中修改唯一索引列的操作。Oracle 需要先删除索引、修改列值,再重新创建索引,步骤较为繁琐。而 GreatSQL 在满足一定条件下支持在线 DDL 操作,可以直接修改列值,操作相对简单。两者都需要考虑数据完整性和表上的其他约束条件。
|
4月前
|
SQL 测试技术 数据处理
|
4月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
480 0
|
5月前
|
存储 Oracle 关系型数据库
关系型数据库Oracle差异备份
【7月更文挑战第19天】
88 3
|
7月前
|
SQL 监控 Oracle
Oracle 性能优化之AWR、ASH和ADDM(含报告生成和参数解读)
Oracle 性能优化之AWR、ASH和ADDM(含报告生成和参数解读)
|
7月前
修改oracle11g的awr快照参数
修改oracle11g的awr快照参数
54 0
【SQL开发实战技巧】系列(二十五):数仓报表场景☞结果集中的重复数据只显示一次以及计算部门薪资差异高效的写法以及如何对数据进行快速分组
本篇文章讲解的主要内容是:***如何使用lag函数让结果集重复数据只显示一次、用行转列pivot写法优化部门之间计算工资差异类似需求、如何通过ceil函数对已有数据进行分组打印、放假安排团队分组值班,如何通过ntile()over(order by )快速进行人员分组***
【SQL开发实战技巧】系列(二十五):数仓报表场景☞结果集中的重复数据只显示一次以及计算部门薪资差异高效的写法以及如何对数据进行快速分组
【SQL开发实战技巧】系列(七):从有重复数据前提下如何比较出两个表中的差异数据及对应条数聊起
本篇文章讲解的主要内容是:***如果有重复数据如何检查出两个表中的差异数据及对应条数、表连接做聚合容易出现重复计算的错误、多表查询空值处理问题、NOT IN的子查询范围不能是空值,否则查询结果为空。***
【SQL开发实战技巧】系列(七):从有重复数据前提下如何比较出两个表中的差异数据及对应条数聊起

推荐镜像

更多
下一篇
DataWorks