5ol.cc 发表于 2018-9-9 12:22:50

Oracle 性能报告 ADDM-7727197

  自动数据库性能诊断: ADDM(Automatic Database Diagnostic Monitor)
  这种技术是基于AWR技术的,原理就是比较两个AWR快照。
  1、获取到两次AWR快照的ID:
  SELECT SNAP_ID, TO_CHAR(BEGIN_INTERVAL_TIME,'yyyy-mm-dd hh24:mi:ss') BEGIN_INTERVAL_TIME, TO_CHAR(STARTUP_TIME,'yyyy-mm-dd hh24:mi:ss') STARTUP_TIME FROM DBA_HIST_SNAPSHOT ORDER BY 1;
  会得到类似如下的列表:
  SNAP_ID BEGIN_INTERVAL_TIME STARTUP_TIME
  ---------- ------------------- -------------------
  5 2012-11-29 22:27:35 2012-11-29 22:16:28
  6 2012-11-30 20:22:57 2012-11-29 22:16:28
  7 2012-11-30 21:00:59 2012-11-29 22:16:28
  8 2012-12-01 17:22:40 2012-11-29 22:16:28
  9 2012-12-01 18:39:16 2012-12-01 18:39:16
  10 2012-12-01 19:00:22 2012-12-01 18:39:16
  11 2012-12-01 20:00:25 2012-12-01 18:39:16
  12 2012-12-08 19:21:19 2012-12-08 19:21:19
  13 2012-12-08 19:32:34 2012-12-08 19:21:19
  14 2012-12-08 21:00:40 2012-12-08 19:21:19
  15 2012-12-09 16:10:05 2012-12-08 19:21:19
  2、运行报告生成工具
  @?/rdbms/admin/addmrpt
  输入 begin_snap 的值: 7
  输入 end_snap 的值: 14
  输入 report_name 的值:
  Report written to addmrpt_1_1199_1200.txt
  查看addmrpt_1_1199_1200.txt文件内容即可。
  配合其使用的还有一个
  SQL Tuning Advisor:
  1、创建优化任务并执行:
  DECLARE
  my_task_name VARCHAR2(30);
  my_sqltext CLOB;
  BEGIN
  my_sqltext := 'select a.table_name, b.object_id from bigtab b, smalltab a';
  my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(
  sql_text => my_sqltext,
  user_name => 'SCOTT',
  scope => 'COMPREHENSIVE',
  time_limit => 60,
  task_name => 'sql_tuning_task_1',
  description => '');
  dbms_sqltune.Execute_tuning_task (task_name => 'sql_tuning_task_1');
  END;
  /
  2、查看优化建议结果
  set long 10000
  set linesize 100
  SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('sql_tuning_task_1') FROM DUAL;
  删除优化任务:
  EXEC DBMS_SQLTUNE.DROP_TUNNING_TASK('sql_tuning_task_1');

页: [1]
查看完整版本: Oracle 性能报告 ADDM-7727197