Sidebar

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

 


Tips BD