Trigger accesos fallidos

Quisiera saber si existe alguna forma para capturar el nombre de usuario de un acceso fallido a la base de datos.
Necesito hacer un trigger que me inserte en una tabla el usuario y las veces fallidas que ha intentado conectarse, es decir, que ha ingresado mal el usuario y ha ocurrido un erro de contraseña errónea.
Pero el problema es que como no se pudo conectar pues no puedo capturar ese nombre de usuario.

1 respuesta

Respuesta
1
La mejor solución es activando el audit trail de Oracle, en vez de un trigger:
Pasos:
1.- Colocar en el init.ora o spfile: audit_trail=true
2.- Correr el script conectado como sys as sysadmin: $ORACLE_HOME/rdbms/cataudit.sql
3.- Bajar y subir la BD, ya que no es un parámetro dinámico.
4.- Activar la auditoría contra fallos de conección: AUDIT CREATE SESSION BY SESSION WHENEVER NOT SUCCESSFUL.
O también:
AUDIT ALL BY <cuenta_usuario> BY ACCESS;
5.- Para asegurar que se registre cualquier intento de modificar la auditoría: AUDIT INSERT, UPDATE, DELETE ON sys.aud$ BY ACCESS;
6.- Para consultar la auditoría, juegas con las siguientes vistas:
DBA_AUDIT_EXISTS
DBA_AUDIT_OBJECT
DBA_AUDIT_SESSION
DBA_AUDIT_STATEMENT
DBA_AUDIT_TRAIL
DBA_OBJ_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS
DBA_STMT_AUDIT_OPTS
No te olvides de evaluar la respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas