ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 生成ADDM报告

生成ADDM报告

Linux操作系统 作者:royevictory 时间:2016-03-16 12:05:21 0 删除 编辑
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <style. /* Style. Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style.

ADDMAutomatic Database Diagnostic Monitor)是Oracle数据库中的一个自诊断引擎,ADDM通过检查和分析AWR获取的数据来判断Oracle数据库中可能的问题。

默认情况下,ADDM为启用状态。可以通过指定初始化参数control_management_pack_accessstatistics_level来控制ADDM,要想启用ADDM,必须设置control_management_pack_accessDIAGNOSTIC+TUNING(默认值)或DIAGNOSTIC。如果要禁用ADDM,需要将control_management_pack_access设置为NONE或者将statistics_level设置为basic

为了诊断数据库性能,ADDM分析可以跨越任意两个snapshots,只要它们满足下面两个条件:

Ø        快照在创建过程中没有错误而且没有被删除

Ø        两个快照期间数据库没有发生关闭事件

1)        使用addmrpt.sql来创建ADDM报告

       Oracle提供了一个脚本addmrpt.sql(位于$ORACLE_HOME/rdbms/admin目录中)来生成ADDM报告。

SQL>@$ORACLE_HOME/rdbms/admin/addmrpt.sql

Ø        指定要使用的start_snap

Enter value for begin_snap: 108

Ø        指定要使用的end_snap

Enter value for end_snap: 109

Ø        指定AWR报告的报告名。

       Enter value for report_name: /tmp/addmrpt_1_108_109.txt

2)        使用DBMS_ADVISOR程序包来创建ADDM报告

DBMS_ADVISOR程序包可以帮助用户管理ADDM属性,通过SQL语句执行像创建人物和检索ADDM报告这样的工作。非DBA用户需要具有ADVISOR权限才可以使用DBMS_ADVISOR程序包。

       下面为DBMS_ADVISOR程序包的主要过程和函数,不仅仅是在ADDM中使用,还可以用于其他的数据库顾问程序。

       CREATE_TASK:创建一个新的顾问任务。

SET_DEFAULT_TASK:帮助修改任务中参数的默认值

DELETE_TASK:从信息库中删除一个特定的任务

EXECUTE_TASK:执行一个特定的任务

GET_TASK_REPORT:显示最近的ADDM报告

SET_DEFAULT_TASK_PARAMETER:修改默认的任务参数

通过使用DBMS_ADVISOR程序包的GET_TASK_REPORT过程,可以得到与前面使用addmrpt.sql脚本获得的相同的ADDM报告。下面是取得一个文本报告的示例:

SQL> set long 1000000

SQL> select dbms_advisor.get_task_report(

      task_name,'TEXT','ALL')

      from dba_advisor_tasks

   where

      task_id=(

      select max(t.task_id)

      from dba_advisor_tasks t,dba_advisor_log l

   where t.task_id = l.task_id

   and t.advisor_name='ADDM'

   and l.status='COMPLETED');

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29302187/viewspace-2058091/,如需转载,请注明出处,否则将追究法律责任。

上一篇: ADDM报告分析
下一篇: oracle锁
请登录后发表评论 登录
全部评论

注册时间:2014-08-06

  • 博文量
    195
  • 访问量
    527800