Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

205

积分

19

好友

29

主题
1#
发表于 2017-7-24 11:09:03 | 查看: 2684| 回复: 0
对于此类信息探究有时候总是会有些”云里雾里“... 这可能是由于Oracle并未将此类信息描述得非常清楚,或者在一些信息反馈表中,它并不是最注重的那个。
但是在和其它系统就不同架构配置来进行”性能/吞吐量“比较的时候,它往往直观有用。

你可以在AWR的”Report Summary“部分中,在"Load Profile",”Transactions“项找到它:
awr_tps.png

不过你是否想通过SQL查询来直接计算出它呢?或者你希望从查询中获取一个历史趋势呢?

这里,我从10g的文档中找到了相关对事务吞吐量的描述:
Number of Transactions = (DeltaCommits+DeltaRollbacks)/Time


即事务的吞吐量 为: User commits + User Rollbacks

因此我们可以通过以下SQL来进行实现:
  1. WITH hist_snaps
  2. AS (SELECT instance_number,
  3. snap_id,
  4. round(begin_interval_time,'MI') datetime,
  5. (  begin_interval_time + 0 - LAG (begin_interval_time + 0)
  6. OVER (PARTITION BY dbid, instance_number ORDER BY snap_id)) * 86400 diff_time
  7. FROM dba_hist_snapshot), hist_stats
  8. AS (SELECT dbid,
  9. instance_number,
  10. snap_id,
  11. stat_name,
  12. VALUE - LAG (VALUE) OVER (PARTITION BY dbid,instance_number,stat_name ORDER BY snap_id)
  13. delta_value
  14. FROM dba_hist_sysstat
  15. WHERE stat_name IN ('user commits', 'user rollbacks'))
  16. SELECT datetime,
  17. ROUND (SUM (delta_value) / 3600, 2) "Transactions/s"
  18. FROM hist_snaps sn, hist_stats st
  19. WHERE     st.instance_number = sn.instance_number
  20. AND st.snap_id = sn.snap_id
  21. AND diff_time IS NOT NULL
  22. GROUP BY datetime
  23. ORDER BY 1 desc;
复制代码
这样,你就可以很容易的得到趋势图了:)
7days_tps.jpg
您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-17 16:12 , Processed in 0.049571 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569