• Oracle Automatic Database Diagnostic Monitor (ADDM) 学习笔记


    ADDM属于EM的诊断包,即Oracle Diagnostics Pack

    在19c 许可指南中,可见以下特性:

    • Automatic Database Diagnostic Monitor (ADDM)
    • Compare Period ADDM
    • Real Time ADDM
    • ADDM Spotlight

    按照文档,ADDM的简介为:ADDM 是内置于 Oracle 数据库中的诊断软件。 ADDM 检查并分析自动工作负载存储库 (AWR) 中捕获的数据,以确定可能的数据库性能问题。 ADDM 然后执行以下操作:

    • 定位性能问题的根本原因
    • 提供纠正建议
    • 量化预期收益
    • 标识不需要采取任何行动的区域。

    自动数据库诊断监视器 (ADDM) 自动检测并报告数据库的性能问题。 在 Oracle Enterprise Manager Cloud Control (Cloud Control) 的数据库主页上显示为 ADDM 结果。 查看 ADDM 结果使您能够快速识别需要您注意的性能问题。 在使用本指南中描述的另一种性能调优方法之前,首先查看 ADDM 分析的结果。

    每个 ADDM 发现都提供了一系列建议,以减少性能问题的影响。 作为定期数据库维护的一部分,您应该每天查看 ADDM 调查结果并实施建议。 即使数据库以最佳性能级别运行,您也应该继续使用 ADDM 持续监控数据库性能。

    ADDM分析
    在每个 AWR 快照之后(默认情况下每小时一次)执行 ADDM 分析,并将结果保存在数据库中。 然后您可以使用EM查看结果。

    ADDM 分析是自上而下进行的,首先识别症状,然后细化分析以找到性能问题的根本原因。 ADDM 使用 DB 时间统计来识别性能问题。 数据库时间(DB)时间是数据库处理用户请求所花费的累积时间,包括所有非空闲的用户会话等待时间和CPU时间。

    数据库性能调优的目标是减少给定工作负载下系统的 DB 时间。 通过减少 DB 时间,数据库可以使用相同或更少的资源来支持更多的用户请求。 ADDM 将使用大部分数据库时间的系统资源报告为问题区域,并根据所花费的相关数据库时间量按降序对它们进行排序。

    ADDM建议
    除了诊断性能问题之外,ADDM 还推荐可能的解决方案。 在适当的情况下,ADDM 会推荐多种解决方案供您选择。 ADDM 建议包括以下内容:

    • 硬件变化
      添加 CPU 或更改 I/O 子系统配置
    • 数据库配置
      更改初始化参数设置
    • 模式变更
      对表或索引进行哈希分区,或使用自动段空间管理 (ASSM)
    • 应用程序变更
      使用序列的缓存选项或使用绑定变量
    • 使用其他顾问
      在高负载 SQL 语句上运行 SQL Tuning Advisor 或在热对象上运行 Segment Advisor

    性能调优是一个迭代过程。 解决一个问题可能会导致瓶颈转移到系统的另一部分。 即使有 ADDM 分析的优势,也可能需要多个调整周期才能达到理想的性能水平。

    ADDM与多租户
    从 Oracle Database 12c 开始,默认情况下在CDB的根容器中启用 ADDM。 从 Oracle Database 19c 开始,您还可以在PDB中使用 ADDM。

    配置ADDM
    需要诊断包许可,以及STATISTICS_LEVEL 设置为TYPICAL(默认)或ALL。

    I/O性能分析受DBIO_EXPECTED影响,其为读取单个数据库块所需的平均时间(以微秒为单位)。默认值为10。可以通过DBMS_STATS.GATHER_SYSTEM_STATS收集系统统计信息获取。

    SQL> select * from aux_stats$;
    
               SNAME         PNAME               PVAL1               PVAL2
    ________________ _____________ ___________________ ___________________
    SYSSTATS_INFO    STATUS                            COMPLETED
    SYSSTATS_INFO    DSTART                            04-17-2019 02:04
    SYSSTATS_INFO    DSTOP                             04-17-2019 02:04
    SYSSTATS_INFO    FLAGS                           1
    SYSSTATS_MAIN    CPUSPEEDNW       2467.23680330286
    SYSSTATS_MAIN    IOSEEKTIM                      10
    SYSSTATS_MAIN    IOTFRSPEED                   4096
    SYSSTATS_MAIN    SREADTIM
    SYSSTATS_MAIN    MREADTIM
    SYSSTATS_MAIN    CPUSPEED
    SYSSTATS_MAIN    MBRC
    SYSSTATS_MAIN    MAXTHR
    SYSSTATS_MAIN    SLAVETHR
    
    13 rows selected.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    生成ADDM报告

    有4种方法:

    • SQL Plus
    • DBMS_ADVISOR
    • EM
    • SQL Developer

    如果是PDB一级的ADDM报告,需要在PDB一级开启AWR,详见How to Create an AWR Report at the PDB level on 12.2 or later (Doc ID 2334006.1)。

    SQL Plus方式如下:

    SQL> @/u01/app/oracle/product/19c/dbhome_1/rdbms/admin/addmrpt.sql
    
    • 1

    执行ADDM建议

    ADDM结果(Finding)可以有以下3种类型:

    • Problem:描述数据库性能问题根本原因的调查结果
    • Symptom:包含通常导致一个或多个问题发现的信息的发现
    • Information:用于报告不影响性能的系统区域的结果

    可以通过SQL Tuning Advisor直接运行ADDM的建议。

    参考

  • 相关阅读:
    2024.4.26力扣每日一题——快照数组
    【matlab图像处理】直方图均衡化操作
    【题目讲解】ascii码值(空格、回车、0、1、2、3、a、b)
    中国啤酒设备行业应用状况与盈利趋势预测报告2022-2028年
    代码随想录二刷 | 数组 | 总结篇
    [k8s源码]1.client-go集群外部署
    Vue简介及简单应用
    小学生python游戏编程arcade----爆炸粒子类
    “不务正业”的美图公司也是一名“赌徒”
    RS雷达转Velodyne雷达数据Failed to find match for field ‘intensity‘
  • 原文地址:https://blog.csdn.net/stevensxiao/article/details/133636239