在執行下面的腳本之前需要先用產生AWR報告的SQL(程式腳本一般保存在$ORACLE_HOME下的rdbms/admin中,名稱為awrrpt.sql,需要輸入產生AWR報告的天數範圍)找到開始和結束的snapshot編號:begin_snap和end_snap。
set line 1000
set linesize 200
set pagesize 2000
set long 999999
set echo on
set markup html on
set echo on
set markup html on
lect . d.end_interval_time,'yyyy-mm-dd'),
a.PARSING_SCHEMA_NAME,
c.MODULE,
a.sql_id,
a.execs as 執行次數,
sql_id,
a.execs as 執行次數,
RO .cpu_times / a.execs, 2) as 單次執行時間,
a.cpu_times as cpu消耗時間,
ROUND(a.cpu_times / b.sum_time * 100, 2) as 消耗百分比, a.buffer_gets as 邏輯讀,
ROUND(a.buffer_gets / b.sum_buffer * 100, 2) as 邏輯讀百分比,
a.disk_read as 物理讀,
UNDf(a.disk_UND(a.disk_read / b 。 / 1000000, 2) AS cpu_times,
round(sum(ELAPSED_TIME_DELTA) / 1000000, 2) AS elapsed_time,
sum(BUFFER_GETS_DELTA) AS elapsed_time,
sum(BUFFER_GETS_DELTA) AS00_DELTA) ASpV.D:a.A. sys. WRH$_SQLSTAT wr, gv$instance i
where SNAP_ID and snap_id >= &begin_snap
and wr.INSTANCE_NUMBER = i.INSTANC_NUM. PARSING_SCH! disk
FROM sys .WRH$_SQLSTAT wr, gv$instance i
where SNAP_ID and snap_id >= &begin_snap
and wr.INSTANCE_NUMBER = i.INSTANCE_NUM. 🎜>v$sqlarea c,
dba_hist_snapshot d
where a.execs > 0
and a.sql_id = c.sql_id
and a.PARSING_SCHEMA_NAME_id = c.sql_id
and a.PARSING_SCHEMA_NAME and a.PARSING_SCHEMA_NAME 'SYS. snap_id = &end_snap
order by cpu消耗時間desc) res
where rownum exit
將腳本輸出內容儲存到記事本中,並將記事本的字尾名稱改為.html,這樣就可以輸出以下的網頁內容: