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;