Hi Pando -

There are a few reasons why it can be different -

1) The first query will only return one row per session.

2) The 2nd query might return many rows per session- all open cursors for each session.

3) I have just noticed that some things make it into v$sqltext
that don't make it into v$open_cursor - Anonymous PL/SQL blocks.

If you are after the current (or most recent) query by a session, use the first query. If you are after many of their recent queries, use the 2nd one.

-John