LISTING 2: Session-Cached Cursors and Latch Counts

SQL> select a.name, b.value-a.value run1, c.value-b.value run2,
  2         ((c.value-b.value)-(b.value-a.value)) diff
  3    from run_stats a, run_stats b, run_stats c

  4   where a.name = b.name
  5     and b.name = c.name
  6     and a.runid = 'before'
  7     and b.runid = 'after 1'
  8     and c.runid = 'after 2'
  9     and (c.value-a.value) > 0

 10     and (c.value-b.value) <> (b.value-a.value)
 11   order by abs((c.value-b.value)-(b.value-a.value))
 12  /

NAME                                     RUN1   RUN2      DIFF
____________________________            _____   ____      ____
...

STAT...parse count (total)              1015    1014        -1
STAT...session cursor cache count          0       1         1
...
STAT...session cursor cache hits           3    1002       999
LATCH.shared pool                       2142    1097     -1045
LATCH.library cache                    17361    2388    -14973

34 rows selected.