Re: How can you log number of rows returned by all queries?

  • From: Yong Huang <yong321@xxxxxxxxx>
  • To: "cdunscombe@xxxxxxxxx" <cdunscombe@xxxxxxxxx>
  • Date: Tue, 29 Oct 2013 09:32:09 -0700 (PDT)

> Looking for a way of "logging" the number of rows returned by all queries run 
> by a specific user, running 11.2.0.3?
Chris,

How about checking statistic 'table scan rows gotten' for the user's sessions? 
Join v$session and v$sesstat (and v$statname if you don't want to hardcode 
statistic# for your version).

The problem with this approach is that if the session exited, you lose its 
data. You either have to sample more frequently (and replace the value for the 
same session sampled last time in your record) to minimize this problem, or 
make sure most other sessions rarely disconnect and get the value for this stat 
from v$sysstat instead, minus the values for the long-connecting sessions.

Why number of rows? How about logical reads, which you can get from 
dba_audit_(session|trail) if you have audit turned on, which is default in 11g?


Yong Huang


--
//www.freelists.org/webpage/oracle-l


Other related posts: