在做執行報告的時候,主機可以取
cpu,記憶體,程序數的相關引數做報表,而資料庫卻很難做出長時間效能引數的報告。
statspack
是oracle
效能分析的乙個報告,但這個報告只能取乙個規定時間段的值,可以用來分析問題,但不能反映隨時間的變化趨勢,也很難進行圖表展示。
oracle
相關工具
toad
提供了statspack
的簡單圖表展示,但選擇時間點很麻煩,且只有有限幾個引數。原則上來說,工具能實現的功能利用
sql語句都能實現。下面是乙個利用
statspack
進行oracle
效能分析的乙個簡單例子。 具體
sql語句如下
selectw.snap_id,
sn.snap_time,
w.event event,
w.total_waits - w.last_wait waits,
w.total_timeouts - w.last_timeout timeouts,
(w.time_waited - w.last_time_waited)/
1000000
time_waited_s
fromperfstat.stats$snapshot sn,
(selectsnap_id, dbid, instance_number, event,
total_waits,
lag(total_waits,
1) over (order byevent, snap_id) last_wait,
total_timeouts,
lag(total_timeouts,
1) over (order byevent, snap_id) last_timeout, time_waited_micro time_waited,
lag(time_waited_micro,
1) over (order byevent, snap_id)
last_time_waitedfromperfstat.stats$system_event
whereeventnot in(selecteventfromperfstat.stats$idle_event)
andsnap_idin(selectsnap_idfromstats$snapshotwheresnap_time >sysdate-
300)
----300 days
) wwherew.time_waited - w.last_time_waited >
0andw.snap_id > (select min(snap_id)fromstats$snapshotwheresnap_time >sysdate-
300)
----300 days
--and sn.snap_id in (22391,22392,22393)
andsn.snap_id = w.snap_id
andsn.dbid = w.dbid
andsn.instance_number = w.instance_number
andeventnot like'%message%'
andeventnot like'sql*net%'
and(w.time_waited - w.last_time_waited) >
600*
1000000
---- wait time >10 min
union all
selectss.snap_id, sn.snap_time,
'cpu time',0
, 0,round((ss.value- lag(ss.value,
1) over (order byss.snap_id))/
100,
0)asvalue_cputime
fromperfstat.stats$sysstat ss, perfstat.stats$snapshot sn
wheress.snap_id = sn.snap_id
andss.name=
'cpu used by this session'
andss.snap_idin(selectsnap_idfromstats$snapshotwheresnap_time >sysdate-
300)
--and ss.snap_id in (22391,22392,22393)
andss.dbid = sn.dbid
andss.instance_number = sn.instance_number
order by1, 6
desc
通過sql查詢出來的資料,匯入到
excel
中(可以利用
taod
、pl/sql
等工具),利用
excel
的透檢視功能,進行圖形繪製,如下圖是某系統
2023年1
月的top wait event
的結果。從圖可以看出主要等待事件是
db file sequential read
和cpu time
。db file sequentialread
事件多說明系統
io壓力大。
命中率的圖(本週),低點一般在凌晨
4點,其它命中率
98%以上
理論上講,
statspack
報告中的所有效能引數都可以進行圖表展示,前提是擁有定期收集的資料。
使用statspack進行oracle效能分析
在做執行報告的時候,主機可以取 cpu,記憶體,程序數的相關引數做報表,而資料庫卻很難做出長時間效能引數的報告。statspack 是oracle 效能分析的乙個報告,但這個報告只能取乙個規定時間段的值,可以用來分析問題,但不能反映隨時間的變化趨勢,也很難進行圖表展示。oracle 相關工具 toa...
statspack安裝使用和report分析
dba1 群 62697716 滿 dba2 群 62697977 滿 dba3 群 62697850 滿 dba 超級群 63306533 滿 dba4 群 83829929 dba5群 142216823 dba6 群 158654907 聊天 群 40132017 聊天2群 69087192 ...
statspack應用指南
參考 statspack使用指南 v3 1 0.pdf 調整statspack 的收集門限 statspack 有兩種型別的收集選項 級別 level 控制收集資料的型別 門限 threshold 設定收集的資料的閾值。1 級別 level statspack 共有三種快照級別,預設值是5 a.le...