Si está usando una versión moderna de la base de datos (9i o posterior) y tiene una licencia de Enterprise Edition, puede usar la auditoría detallada. Nos permite auditar las consultas de los usuarios a un nivel muy bajo de granularidad, a través de políticas definidas.
Para capturar texto SQL y vincular variables, deberá configurar el parámetro AUDIT_TRAIL de manera adecuada al agregar una política FGA. Obtenga más información.
"Estoy usando un estándar 11g, por lo que las funciones de auditoría no son compatibles".
No exactamente. El comando AUDIT es parte de la compilación estándar de Oracle, pero solo nos permite capturar cuándo un usuario determinado emite un SELECCIONAR en una tabla determinada. Pero, eso sí, para saber exactamente qué están seleccionando requiere licencia Enterprise Edition.
Además, no hay activador ON SELECT, por lo que no podemos lanzar el nuestro.
"Entonces, ¿puedo usar el comando AUDIT en la edición estándar? ... ¿Pero luego un consultor me dijo que no puedo usarlo sin pagar la licencia empresarial?"
Hablando como consultor, tengo que decir que esos tipos no siempre saben de lo que están hablando.
Así que seamos claros:
- el comando AUDIT es parte de Oracle SQL. Se puede utilizar con la edición estándar. De hecho desde 11g está habilitado por defecto. Audita la actividad general. Saber más.
- Fine Grained Auditing es un paquete PL/SQL que solo se puede usar si tiene Enterprise Edition. Nos permite auditar la actividad de los usuarios a un nivel muy bajo. Obtenga más información.