« oramon如何从V$SESSION收集性能数据? »
Tools » http://www.anysql.net/tools/oramon-session-history.html 2009-06-25当我们真正遇到数据库的负载问题时, 一般都会有大量的活动会话,处理执行或是处于等待状态, 要解决问题或找出问题的根源, 就要知道那时这些活动会话在做些什到或等待什么? 在Oracle 10g中我们可以查询V$SESSION获得这些信息, 在Oracle 9i及更早的版本中, 则需要将V$SESSION和V$SESSION_WAIT关联起来.
oramon中就记录了这些信息, 记录的数据如下, 格式为"事件号:SQL Hash Value-会话数". 表示在某个时间点有多少个会话在执行这个SQL, 这些会话处理什么样的等待状态.
......
10/30-20:02:37 205:2815233029:1, 372:4160993935:1
10/30-20:02:47 205:1623840268:1, 372:1569451005:1, 372:4160993935:1
10/30-20:02:57 205:374916427:1, 372:3179818757:1, 372:4160993935:1
10/30-20:03:07 205:1623840268:1, 372:860679981:1, 372:4160993935:1
10/30-20:03:17 372:4160993935:1
10/30-20:03:27 372:270817213:1, 372:4160993935:1
10/30-20:03:37 372:4160993935:1
......
oramon每10秒执行一次查询并记录数据, 因此遇到问题时, 可以用记录的数据进行跟踪分析, 或进行事后分析. 为解决突发类的负载问题, 提供了有力的数据支持, 从我的经验中, 这些信息是非常有用的, 帮我找出了很多性能问题的根本原因, 从而切实解决了很多的问题.


Recent Comments