您的位置:首页 > 数据库 > Oracle

Oracle 性能报告 ADDM

2015-06-18 17:07 585 查看
自动数据库性能诊断: 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');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle addm 性能报告