签到成功

知道了

CNDBA社区CNDBA社区

Oracle 19c AWR 报告的变化

2021-01-24 14:01 667 0 原创 Oracle 19c
作者: Dave

Oracle 19c 是Oracle 12c 家族的长期支持板,按目前的发布路线图,可以支撑到2023年,Oracle 23c 将会是下一个长期支持板。 关于Oracle 版本的说明可以参考我之前的博客:

https://www.cndba.cn/dave/article/4364

Oracle 12.2 家族的补丁 RU 和 RUR 说明
https://www.cndba.cn/dave/article/4063

AWR 报告是DBA 的一个重要辅助工具,用来帮助我们分析数据库的性能问题。 我们通常说的AWR 报告默认指的是awrrpt.sql 这个单实例的AWR 报告。

实际上Oracle 有很多AWR 的类型,可以直接从DB查看:

[dave@www.cndba.cn ~]$ cd $ORACLE_HOME/rdbms/admin
[dave@www.cndba.cn admin]$ ls -lrt awr*.sql
-rw-r--r--. 1 oracle oinstall   744 Jan 26  2017 awrrptinoop.sql
-rw-r--r--. 1 oracle oinstall  1730 Jan 26  2017 awrrptidc.sql
-rw-r--r--. 1 oracle oinstall  7657 May 29  2017 awrupd12.sql
-rw-r--r--. 1 oracle oinstall  3114 May 29  2017 awrsqrpt.sql
-rw-r--r--. 1 oracle oinstall 10161 May 29  2017 awrrpti.sql
-rw-r--r--. 1 oracle oinstall 14374 May 29  2017 awrinput.sql
-rw-r--r--. 1 oracle oinstall  1533 May 29  2017 awrgrpt.sql
-rw-r--r--. 1 oracle oinstall  8606 May 29  2017 awrgrpti.sql
-rw-r--r--. 1 oracle oinstall 12399 May 29  2017 awrginp.sql
-rw-r--r--. 1 oracle oinstall  3667 May 29  2017 awrgdrpt.sql
-rw-r--r--. 1 oracle oinstall  9384 May 29  2017 awrgdrpi.sql
-rw-r--r--. 1 oracle oinstall 11610 May 29  2017 awrextr.sql
-rw-r--r--. 1 oracle oinstall  3883 May 29  2017 awrddrpt.sql
-rw-r--r--. 1 oracle oinstall  1458 May 29  2017 awrblmig.sql
-rw-r--r--. 1 oracle oinstall  2907 Jul 29  2017 awrinpnm.sql
-rw-r--r--. 1 oracle oinstall 26042 Jul 29  2017 awrgdinp.sql
-rw-r--r--. 1 oracle oinstall 30797 Jul 29  2017 awrddinp.sql
-rw-r--r--. 1 oracle oinstall  2539 Jan  4  2018 awrmacro.sql
-rw-r--r--. 1 oracle oinstall  8333 Aug  9  2018 awrrpt.sql
-rw-r--r--. 1 oracle oinstall 12153 Aug 16  2018 awrsqrpi.sql
-rw-r--r--. 1 oracle oinstall 10177 Aug 21  2018 awrddrpi.sql
-rw-r--r--. 1 oracle oinstall 49857 Aug 23  2018 awrinfo.sql
-rw-r--r--  1 oracle oinstall 10862 Jan 15 00:23 awrload_18.sql
-rw-r--r--. 1 oracle oinstall  6715 Jan 15 00:23 awrload.sql
[dave@www.cndba.cn admin]$
[dave@www.cndba.cn admin]$ ls -lrt awr*.sql|wc -l
24
[dave@www.cndba.cn admin]$

可以看到在Oracle 19c 中共有24个相关的AWR 报告。 我们常用的几个AWR 脚本如下:

awrrpt.sql: 单实例AWR 报告
awrgrpt.sql: RAC 的AWR 报告
awrddrpt.sql: 单实例AWR 对比报告
awrgdrpt.sql: RAC 的AWR 对比报告
awrsqrpt.sql: 单个SQL 的报告https://www.cndba.cn/dave/article/4364

实际上从Oracle 12c 开始,AWR 报告以前有了改变, 在之前的博客中也有描述,如下:

Oracle 12c AWR 报告中的新功能
https://www.cndba.cn/dave/article/237https://www.cndba.cn/dave/article/4364

在Oracle 19c 中继承了12c 的新特性,同时对PDB 的支持也有了增强。 如果说相对Oracle 11g 早期版本的AWR 来对比,那么Oracle 19c 有了如下变化。

1 报告展现模式新增了’active-html’

[dave@www.cndba.cn admin]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jan 24 11:41:45 2021
Version 19.10.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.10.0.0.0

SQL> @?/rdbms/admin/awrrpt.sql

Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
AWR reports can be generated in the following formats.  Please enter the
name of the format at the prompt.  Default value is 'html'.

'html'          HTML format (default)
'text'          Text format
'active-html'   Includes Performance Hub active report

Enter value for report_type:

active-html 类型与html 展示内容完全相同,只是在最后部分多一个Performance Hub active report的动态效果,类似于OEM 的展示方式。 但是不幸的是Adobe 公司已经停止了Flash,所以目前AWR 报告的最后Performance Hub active report 无法正常显示。 所以目前来看active-html 和 html 的内容一模一样。

如果想查看Active-html 最后部分的效果可以查看我之前博客12c AWR 新特性中的截图。

2 AWR 报告中包含了ADDM和 ASH 的内容

在之前的版本,AWR,ADDM, ASH 是三个独立的部分,有时在分析时我们需要分别收集, 在19c的AWR 报告中,直接包含了这3部分的内容,简化了我们的工作。

https://www.cndba.cn/dave/article/4364

关于ADDM 和 ASH 的说明参考我之前的博客,如下:https://www.cndba.cn/dave/article/4364

Oracle ADDM 自动诊断监视工具 介绍
https://www.cndba.cn/Dave/article/1588

Oracle ASH(Active Session History) 说明
https://www.cndba.cn/Dave/article/1557https://www.cndba.cn/dave/article/4364


https://www.cndba.cn/dave/article/4364

3 AWR 报告的TOP 5 变成了TOP 10

这个变化是相对于11g 早期版本来说的,实际上从11.2.0.4 开始,已经变成了TOP 10。

4 AWR 报告包含了OGG 和 XStream 的内容

5 可以在CDB 和 PDB 级别收集AWR

在CDB 架构下,尤其是是多个PDB的情况下,要注意这一点。 如果CDB 环境有多个PDB,那么如果收集的是整个CDB 的AWR报告,那么该报告也是包含所有PDB的数据,无法准确分析是哪个PDB 导致的性能问题。 所以对于多PDB的情况下,我们建议是按PDB 来收集AWR报告。

https://www.cndba.cn/dave/article/4364

[dave@www.cndba.cn tmp]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jan 24 13:14:07 2021
Version 19.10.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.10.0.0.0

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 DAVE                           READ WRITE NO
         4 USTC                           READ WRITE NO
SQL> alter session set container=DAVE;

Session altered.

SQL> show con_name

CON_NAME
------------------------------
DAVE
SQL> exec dbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

SQL> exec dbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

SQL> @?/rdbms/admin/awrrpt.sql

Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
AWR reports can be generated in the following formats.  Please enter the
name of the format at the prompt.  Default value is 'html'.

'html'          HTML format (default)
'text'          Text format
'active-html'   Includes Performance Hub active report

Enter value for report_type:
old   1: select 'Type Specified: ',lower(nvl('&&report_type','html')) report_type from dual
new   1: select 'Type Specified: ',lower(nvl('','html')) report_type from dual

Type Specified:                                  html



Specify the location of AWR Data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AWR_ROOT - Use AWR data from root (default)
AWR_PDB - Use AWR data from PDB
Enter value for awr_location: AWR_PDB

Location of AWR Data Specified:
AWR_PDB





Current Instance
~~~~~~~~~~~~~~~~
DB Id          DB Name        Inst Num       Instance       Container Name
-------------- -------------- -------------- -------------- --------------
 3516530670     CNDBA                       1 cndba          DAVE



Root DB Id      Container DB Id AWR DB Id
--------------- --------------- ---------------
    299079762      3516530670      3516530670






Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  DB Id      Inst Num   DB Name      Instance     Host
------------ ---------- ---------    ----------   ------
  3516530670     1      CNDBA        cndba        dave

Using 3516530670 for database Id
Using          1 for instance number


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.


Enter value for num_days:

Listing all Completed Snapshots
Instance     DB Name      Snap Id       Snap Started    Snap Level
------------ ------------ ---------- ------------------ ----------

cndba        CNDBA                1  24 Jan 2021 13:14    1
                                  2  24 Jan 2021 13:14    1


Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 1
Begin Snapshot Id specified: 1

Enter value for end_snap: 2
End   Snapshot Id specified: 2



Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_1_2.html.  To use this name,
press <return> to continue, otherwise enter an alternative.

Enter value for report_name:

Using the report name awrrpt_1_1_2.html

此时生成的AWR 仅包含PDB 自己的信息,而不是之前CDB 级别包含的所有PDB。

PDB:
https://www.cndba.cn/dave/article/4364

CDB:

并且Oracle 19c 的PDB AWR 报告也包含了PDB 的ASH 和 ADDM 的内容。

https://www.cndba.cn/dave/article/4364

注意,生成PDB 的AWR ,需要先生成PDB 快照,具体操作可以参考我的如下博客:

Oracle 19c PDB AWR 报告ORA-20200 Instance does not exist in AWR_PDB_DATABASE_INSTANCE 错误解决方法
https://www.cndba.cn/dave/article/4363

在进行性能优化时,除了生成性能异常时的AWR之外,我们也可以生成正常状态的AWR 报告,进行对比,帮助我们更快的发现问题。

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Dave

Dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 1832
    原创
  • 2
    翻译
  • 417
    转载
  • 119
    评论
  • 访问:3164527次
  • 积分:2888
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by ZhiXinTech · 皖ICP备19020168号·

        QQ交流群