mmm...
io mi arrangio (ma sulla versione 10g) con la seguente query (sostituire XXXXXXX con l'utente da tracciare)
select a.sql_id, b.username, c.name||'/'||c.value_string bind_var,
c.datatype_string, c.max_length,
case
when dbms_lob.getLength(sql_fulltext) > 4000 then
dbms_lob.substr(sql_fulltext, 4000, 1)
else
to_char(sql_fulltext)
end as sql_text,
case
when dbms_lob.getLength(sql_fulltext) > 4000 then
dbms_lob.substr(sql_fulltext, 4000, 4001)
else
''
end as sql_text2
from v$sqlarea a inner join dba_users b
on b.user_id=a.parsing_user_id left outer join v$sql_bind_capture c
on c.address=a.address
where b.username = 'XXXXXXXX'
and a.last_active_time > sysdate -(120/86400);
però su Oracle 9 non funziona, potresti provare con una versione limitata della stessa query
select b.username,
a.*
from v$sqlarea a inner join dba_users b
on b.user_id=a.parsing_user_id
where b.username = 'XXXXXX'
che però espone meno informazioni (lo statement SQL comunque lo vedi)
non so se la cosa può aiutarti.
Ciao, Michele