Auditoria de sentencias sql

Como puedo auditar la sentencia completa que ejecuta un usuario.
Ejemplo: usuario A, si el usuario A realiza la siguiente instrucción.
insert into table_1 (codigo) values ('1')
Necesito que la instruccion completa sea auditado o guardada en algun lugar
"insert into table_1 (codigo) values ('1')"
Gracias por su ayuda
1

1 respuesta

1
Respuesta de
Esto lo puedes obtener implementando la Auditoría de Oracle (una de las tantas maneras).
Para activar la auditoría, puede hacerlo de diferentes formas:
Antes que nada debes colocar en el init.ora, el parámetro AUDIT_TRAIL=(none,db,os). Si define "db" las auditorías se guardaran en la tabla de sys.aud$. Por lo cual es recomendable borrarla periodicamente.
Las otras formas son más detalladas y es directamente por comandos, podría ser al nivel de esquema, cuenta de usuario, acción, objecto, etc.
Para lo que tu quieres, podría servir el siguiente ejemplo: audit [insert|update|all] on owner. table;
Lo anterior no registrará los cambios que se hayan realizado sobre la tabla, sino solamente la acción (sin detalles). Para registrar los detalles de auditoría (columnas modificadas, debes usar el package DBMS_FGA. [add_policy|drop_policy|enable_policy|disable_policy].
En resumen, la auditoría es muy extensa, te recomiendo leer más sobre ella, analizar que quieres y como puedes implementarlo. Saludos
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Oracle o hacer tu propia pregunta: