使用SQL获取ASH/ADDM/AWR报告

有时候想直接在SQLPLUS中看ASH/ADDM/AWR报告,用下面方法还是比较方便,因为AWR数据在数据库中默认只保留7天,即使设置保留30天,可能有时候我们需要进行性能对比分析需要保留时段之前的AWR,那么我们可以采用脚本定时将AWR报告输出保存。

--获取ASH报告
SELECT OUTPUT FROM TABLE(DBMS_WORKLOAD_REPOSITORY.ASH_REPORT_TEXT
((SELECT DBID FROM V$DATABASE), 1, TO_DATE('20130712203500','YYYYMMDDHH24MISS'), TO_DATE('20130712204600', 'YYYYMMDDHH24MISS')));

--获取ADDM报告
SELECT * FROM DBA_ADVISOR_TASKS S ORDER BY S.CREATED DESC SET LONG 1000000 PAGESIZE 0 LONGCHUNKSIZE 1000
SELECT DBMS_ADVISOR.GET_TASK_REPORT('ADDM:3620614489_1_25298') FROM DUAL;

--获取AWR报告
SELECT SNAP_ID SNAPID FROM DBA_HIST_SNAPSHOT;
SELECT OUTPUT FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(&DBID, &INST_NUM, &BID, &EID, 8));


你可能感兴趣的:(SQL)