查詢每秒平均事務數
阿新 • • 發佈:2019-02-10
1.直接查詢檢視
select * from DBA_HIST_SYSMETRIC_SUMMARY where metric_unit = 'Transactions Per Second'
METRIC_NAME 監控指標
METRIC_UNIT 監控單位
INTSIZE 取樣長度(釐秒),一般是360000
NUM_INTERVAL 觀察間隔(分鐘),一般是60
AVERAGE 監控時間段內的平均值
--查詢一段時間內的平均每秒事務數
select instance_number,
metric_unit,
trunc(begin_time) time,
round(avg(average), 2) average
from DBA_HIST_SYSMETRIC_SUMMARY
where metric_unit = 'Transactions Per Second'
and begin_time >=
to_date('2014-08-04 08:00:00', 'yyyy-mm-dd hh24:mi:ss')
and end_time <= to_date('2014-08-08 23:00:00', 'yyyy-mm-dd hh24:mi:ss')
group by instance_number, metric_unit, trunc(begin_time)
order by instance_number;
--事務數每秒大概在20-25之間
查詢一段時間內的平均每天事務數,只要將平均每秒事務數*60^60*24即可。
2.查詢AWR報告也可以。
3.--下面指令碼,分別在兩個時間點執行,相減可以得到某個使用者commit的次數,即事務數
select s.USERNAME,sum(se.VALUE) "session transaction number",sum(sy.VALUE) " database transaction number" from v$session s,v$sesstat se,v$sysstat sy
where s.sid=se.SID and se.STATISTIC#=sy.STATISTIC#
and sy.NAME='user commits'
and s.USERNAME=upper('&username')
group by s.USERNAME;