Is it possible to see the (completed) SQL Statements executed by a specific session

oracle

Is it possible to see a list of all past SQL statements executed by a specific session (or number of sessions)?

For example, the following query gives me all currently executing statements from all sessions where the machine is VZWCLIENT8. But I would like to see the past execution.

select s.sid, s.serial#, a.sql_text
from v$session s
join v$sqlarea a on a.hash_value = s.sql_hash_value
where upper(machine) like 'VZWCLIENT8'

Best Answer

yes, read up on FGA (fine grained auditing).

http://www.oracle-base.com/articles/10g/auditing-10gr2.php

this should do what you want to accomplish.