Primero deberás ubicar la sesión que quieras auditar:
Ojo: La puedes buscar por hostname de la PC que se está conectando, por usuario a nivel de sistema operativo, etc
1. select sid, serial#, USERNAME from v$session where terminal='PC001';
2. exec dbms_system.set_sql_trace_in_session(SID,SERIAL#,true);
O si quiero auditar mi sesión: ALTER SESSION SET SQL_TRACE = TRUE;
3. Ubicar el destino de los archivos "trace": show parameter user_dump_dest
Recuerda que los traces son a nivel sesión, no por usuario.
Este query te ayudará mucho para ubicar qué archivo trace pertenece a cada sesión y usuario:
column username format a10
column trace_file format a70
select b.username, c.value || '\' || lower(d.value) || '_ora_' ||
to_char(a.spid, 'fm00000') || '.trc' "TRACE_FILE"
from v$process a, v$session b, v$parameter c, v$parameter d
where a.addr = b.paddr
and c.name = 'user_dump_dest'
and d.name = 'db_name'
and b.username is not null;
USERNAME TRACE_FILE
---------- --------------------------------------------------------
SYS C:\oracle9i\admin\ORCL92\udump\ORCL92_ora_03164.trc
Marco C:\oracle9i\admin\ORCL92\udump\ORCL92_ora_02264.trc
Carlos C:\oracle9i\admin\ORCL92\udump\ORCL92_ora_03578.trc
4. Ahora, supongamos que queremos conocer la actividad del usuario Marco:
cd C:\oracle9i\admin\ORCL92\udump\
tkprof ORCL92_ora_02264.trc interpretación_de_traza.out explain=n table:marco.su_table
Carlos Contreras
Oracle Certified DBA