Sidebar

 Resúmen de pasos a seguir para auditar una base de datos Oracle:

 

1. alter system set audit_trail=DB scope=spfile;

2. Shutdown (clean) / Startup instance

3. Si quisieramos auditar quién, cuándo, desde dónde, etc. se conecta a nuestra instancia de Oracle:
audit create session whenever not successful;
o EL "CREATE SESSION" PUEDE CAMBIAR POR OTRO ARGUMENTO QUE SE DESEE AUDITAR

Por Ejemplo:
audit alter sequence Scott.SEQ_Name by session
audit select sequence Scott.SEQ_Name2 by session

Recuerda que existe una gran cantidad de argumentos que podemos auditar.

Para conocer qué se está auditando actualmente en nuestra base de datos: 

SELECT * FROM DBA_STMT_AUDIT_OPTS;

 

4. Para detener la auditoría:
 noaudit create...mismos parametros dados que en el paso 3 sin la opción "by session/whenever"

5. Script para detectar, en base a lo auditado en el paso 3, quién se ha conectado a nuestra instancia Oracle:

col terminal format a35
select count(*),username,terminal,to_char(timestamp,'DD-MON-YYYY')
from dba_audit_session
where returncode<>0 
group by username,terminal,to_char(timestamp,'DD-MON-YYYY');

col terminal format a35
select count(*),username,terminal,to_char(timestamp,'DD-MON-YYYY'),returncode
from dba_audit_session
group by username,terminal,to_char(timestamp,'DD-MON-YYYY'),returncode;

 

 

Carlos Contreras
Oracle Certified DBA


Tips BD