ADDM的使用

ADDM(Automatic Database Diagnostic Monitor),就是通过诊断和分析awr得到的数据来推断数据库可能存在的问题,addm给出的建议是依照减少db_time为依据。每次收集完awr报告后,都会产生一个addm分析,分析结果在shared_pool里,mmon进程定期将其写入磁盘,AWR每产生一次快照,MMON进程就通知ADDM把AWR最近两次快照之间的差值进行分析。因此,在默认情况下,每当有AWR的快照产生,ADDM将自动运行。通过em可以查看。所以说白了,addm应该是帮助我们发现问题的一个很好的工具。addm可以定位出很多问题,或许你想不到的,它都能帮你想到。


设置开启ADDM(默认是开启的)
SQL> show parameter  control_management
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_management_pack_access       string      DIAGNOSTIC+TUNING--如果为none表示关闭


SQL> show parameter  STATISTICS_LEVEL
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
statistics_level                     string      TYPICAL---默认,如果改为none就关闭了很多自动的功能,比如统计信息的收集等,typical已经包含99%的功能,所以一般情况下不用all


SQL> SELECT statistics_name,session_status,system_status,activation_level,session_settable FROM   v$statistics_level ORDER BY statistics_name;


STATISTICS_NAME                                                  SESSION_ SYSTEM_S ACTIVAT SES
---------------------------------------------------------------- -------- -------- ------- ---
Active Session History                                           ENABLED  ENABLED  TYPICAL NO
Adaptive Thresholds Enabled                                      ENABLED  ENABLED  TYPICAL NO
Automated Maintenance Tasks                                      ENABLED  ENABLED  TYPICAL NO
Bind Data Capture                                                ENABLED  ENABLED  TYPICAL NO
Buffer Cache Advice                                              ENABLED  ENABLED  TYPICAL NO
Global Cache CPU Statistics                                      DISABLED DISABLED ALL     NO
Global Cache Statistics                                          ENABLED  ENABLED  TYPICAL NO
Longops Statistics                                               ENABLED  ENABLED  TYPICAL NO
MTTR Advice                                                      ENABLED  ENABLED  TYPICAL NO
Modification Monitoring                                          ENABLED  ENABLED  TYPICAL NO
PGA Advice                                                       ENABLED  ENABLED  TYPICAL NO


STATISTICS_NAME                                                  SESSION_ SYSTEM_S ACTIVAT SES
---------------------------------------------------------------- -------- -------- ------- ---
Plan Execution Sampling                                          ENABLED  ENABLED  TYPICAL YES
Plan Execution Statistics                                        DISABLED DISABLED ALL     YES
SQL Monitoring                                                   ENABLED  ENABLED  TYPICAL YES
Segment Level Statistics                                         ENABLED  ENABLED  TYPICAL NO
Shared Pool Advice                                               ENABLED  ENABLED  TYPICAL NO
Streams Pool Advice                                              ENABLED  ENABLED  TYPICAL NO
Threshold-based Alerts                                           ENABLED  ENABLED  TYPICAL NO
Time Model Events                                                ENABLED  ENABLED  TYPICAL YES
Timed OS Statistics                                              DISABLED DISABLED ALL     YES
Timed Statistics                                                 ENABLED  ENABLED  TYPICAL YES
Ultrafast Latch Statistics                                       ENABLED  ENABLED  TYPICAL NO


STATISTICS_NAME                                                  SESSION_ SYSTEM_S ACTIVAT SES
---------------------------------------------------------------- -------- -------- ------- ---
Undo Advisor, Alerts and Fast Ramp up                            ENABLED  ENABLED  TYPICAL NO
V$IOSTAT_* statistics                                            ENABLED  ENABLED  TYPICAL NO


ADDM能发现定位的问题包括:
?操作系统内存页入页出问题
?由于Oracle负载和非Oracle负载导致的CPU瓶颈问题
?导致不同资源负载的Top SQL语句和对象——CPU消耗、IO带宽占用、潜在IO问题、RAC内部通讯繁忙
?按照PLSQL和JAVA执行时间排的Top SQL语句.
?过多地连接 (login/logoff).
?过多硬解析问题——由于shared pool过小、书写问题、绑定大小不适应、解析失败原因引起的。
?过多软解析问题
?索引查询过多导致资源争用.
?由于用户锁导致的过多的等待时间 (通过包dbms_lock加的锁)
?由于DML锁导致的过多等待时间(例如锁住表了)
?由于管道输出导致的过多等待时间(如通过包dbms_pipe.put进行管道输出)
?由于并发更新同一个记录导致的过多等待时间(行级锁等待)
?由于ITL不够导致的过多等待时间(大量的事务操作同一个数据块)
?系统中过多的commit和rollback(logfile sync事件).
?由于磁盘带宽太小和其他潜在问题(如由于logfile太小导致过多的checkpoint,MTTR设置问题,过多的undo操作等等)导致的IO性能问题I
?对于DBWR进程写数据块,磁盘IO吞吐量不足
?由于归档进程无法跟上redo日至产生的速度,导致系统变慢
?redo数据文件太小导致的问题
?由于扩展磁盘分配导致的争用
?由于移动一个对象的高水位导致的争用问题
?内存太小问题——SGA Target, PGA, Buffer Cache, Shared Pool
?在一个实例或者一个机群环境中存在频繁读写争用的热块
?在一个实例或者一个机群环境中存在频繁读写争用的热对象
?RAC环境中内部通讯问题
?LMS进程无法跟上导致锁请求阻塞
?在RAC环境中由于阻塞和争用导致的实例倾斜
?RMAN导致的IO和CPU问题
?Streams和AQ问题
?资源管理等待事件
以上一些项目,其实在addm中,它会一find 的方式将这些项目逐一列出。
以上为摘录。



你可能感兴趣的:(ADDM的使用)