ADDM -- Automatic Database Diagnostic Monitor
AWR -- Automatic Workload Repository
OEM -- Oracle Enterprise Manager
ADDM 是植入Oracle数据库的一个自诊断引擎.ADDM
通过检查和分析AWR获取的数据来判断Oracle数据库中可能的问题.
然后ADDM会定位引起性能问题的的根源,并提供解决的建议和预期能到到的改进效果.每次AWR快照(默认一小时一次)后,将会执行一次ADDM分析,分析结果存在数据库中,通过OEM可以看到分析结果.在使用本指南中另一个性能调试的方法之前,你应该首先看看ADDM分析的结果.
ADDM分析的执行是从上到下的,首先确定状况,然后分析找到性能问题的根源. ADDM 使用DB time
统计来确定性能问题的.DB
time是数据库处理用户请求花费的累计时间,包括等待时间和所有非闲置的用户session的CPU时间.性能诊断的目标就是对于特定的工作量减少系统的DB
time.通过减少DB time, 数据库使用同样的资源能够支撑更多的用户请求. ADDM报告的问题区域指的就是显著占用了DB
time的系统资源,它们是按照相关的DB time 按从大到小的顺序列出的.
除了诊断性能问题, ADDM也会建议可能的解决方案.可以的话, ADDM会推荐多种方案供选择. ADDM推荐的方案包括:
1. 硬件变更
添加CPU数量或者改变I/O子系统的配置
2. 数据库配置
改变数据的初始化参数设置
3. Schema 改变
对表表进行哈希分区或者索引, 或者使用自动的段空间管理(ASSM)
4. 应用改变
对sequence使用缓存选项或者使用绑定变量
5. 其它建议
对高负荷的sql运行SQL Tuning Advisor, 或者对热点对象运行Segment Advisor
.即使在开发和测试系统, ADDM 可以提供潜在性能问题的前期提醒.
必须引起重视的是性能调优是个迭代的过程, 而且解决了一个问题可能暴露另一个导致性能问题的瓶颈.
即使借助ADDM分析,仍然可能需要多个调优循环才能到达期望的性能水平.