Automatic Performance Diagnostics
本章介绍用于性能诊断和调优的Oracle数据库自动功能。
本章包含以下主题:
■Overview of the Automatic Database Diagnostic Monitor
在大多数情况下,当遇到性能问题时,ADDM输出应该是DBA看起来的第一位。
ADDM提供以下功能:
■默认每小时自动执行一次性能诊断报告
■基于数十年调整专业知识的问题诊断
■对问题影响和建议收益进行基于时间的量化
■找出根本原因,而不是症状
■处理问题根源的建议
■识别系统的非问题区域
■在诊断过程中对系统的开销最小
认识到调整是一个迭代过程很重要,解决一个问题可能会导致瓶颈转移到系统的另一部分。 即使利用ADDM分析,也可能需要多个调谐周期才能达到可接受的系统性能。 ADDM的优势适用于生产系统之外; 在开发和测试系统上,ADDM可以提供性能问题的预警。
本节包含以下主题:
■ADDM分析
ADDM分析从上到下进行,首先确定症状,然后对其进行改进以解决性能问题的根本原因。 分析的目标是减少称为DB时间的单个吞吐量度量。 DB时间是数据库在处理用户请求时所花费的累积时间。 它包括所有非空闲用户会话的等待时间和CPU时间。 DB时间显示在V $ SESS_TIME_MODEL和V $ SYS_TIME_MODEL视图中。
通过减少DB时间,数据库可以使用相同的资源支持更多的用户请求,从而提高吞吐量。 ADDM报告的问题按其负责的数据库时间量排序。对大部分数据库时间不负责的系统区域被报告为非问题区域。
ADDM考虑的问题类型包括以下内容:
■CPU瓶颈 - 系统CPU是否由Oracle数据库或其他应用程序绑定?
■小型内存结构 - Oracle数据库内存结构(如SGA,PGA和缓冲区高速缓存)的大小是否适当?
■I / O容量问题 - I / O子系统是否按预期执行?
■高负载SQL语句 - 是否有消耗过多系统资源的SQL语句?
■高负载PL / SQL执行和编译以及高负载Java使用
■Oracle RAC特定问题 - 什么是全局缓存热点块和对象;有没有互连延迟问题?
■应用程序对Oracle数据库的次优使用 - 连接管理不善,过度分析或应用程序级别锁争用是否存在问题?
■数据库配置问题 - 是否存在日志文件大小错误,归档问题,检查点过多或次优参数设置的证据?
■并发问题 - 是否存在缓冲区繁忙问题?
■各种问题区域的热门对象和顶级SQL
注意:
这不是ADDM在分析中考虑的所有问题类型的综合列表。
ADDM还记录系统的非问题区域。 例如,等待事件类不会对系统的性能产生显着影响,可以在早期阶段从调优考虑中被识别并删除,从而节省花费在不会影响整体系统性能的项目上的时间和精力。
■将ADDM与Oracle Real Application Clusters一起使用
如果您使用的是Oracle RAC,则可以在数据库分析模式下运行ADDM,以分析数据库所有实例的吞吐量性能。 在数据库模式下,ADDM将DB时间视为所有数据库实例的数据库时间总和。 使用数据库分析模式,您可以在单个报告中查看对整个数据库有重要意义的所有发现,而无需查看每个实例的单独报告。
数据库模式报告包含有关数据库资源(如I / O和互连)的发现。 如果报告对整个数据库有重要意义,该报告还汇总了各种实例的结果。 例如,如果单个实例的CPU负载高到足以影响整个数据库,则查找将显示在数据库模式分析中,该分析将指向导致该问题的特定实例。
■ADDM分析结果
除了