2011-02-09 19 views
5

Cuando habilitar la auditoría para Crear sesión de la siguiente manera:"auditoría crear sesión por sesión" vs. "auditoría crear sesión por acceso"?

audit create session by session; 

Entonces yo estoy consultando el siguiente:

select * from dba_priv_audit_opts; 

El resultado es:

USERNAME | PROXY_NAME | AUDIT_OPTION | SUCCESS | FAILURE | 
............................................................... 
-  | -   | CREATE SESSION | BY ACCESS | BY ACCESS| 

Pero, cuando habilito la auditoría para , creo la sesión de la siguiente manera:

audit create session by access; 

Entonces yo estoy consultando el siguiente:

select * from dba_priv_audit_opts; 

El resultado es el mismo:

USERNAME | PROXY_NAME | AUDIT_OPTION | SUCCESS | FAILURE | 
............................................................... 
-  | -   | CREATE SESSION | BY ACCESS | BY ACCESS| 

¿Por qué? ¿Tiene alguna idea?

Respuesta

5

11gR2 y superiores:

BY SESSION es efectivamente reducida y todas auditoría se realiza por el acceso.

11gR1 y abajo:

La diferencia entre BY SESSION and BY ACCESS es que cuando se especifica BY SESSION Oracle tratará de combinar múltiples entradas de auditoría en un registro cuando la sesión y la acción auditados partido.

sólo funciona para las sentencias SQL que no sean DDL embargo, desde el enlace anterior:

Si especifica opciones de la instrucción o los privilegios del sistema que el lenguaje de definición de datos de auditoría (DDL), entonces la base de datos audita automáticamente por acceso independientemente de si especifica la cláusula BY SESSION o BY ACCESS.

Dado que CREATE SESSION es una declaración de DDL, Oracle audita esta declaración mediante el acceso.

+0

¡Gracias, muy buena respuesta! – kupa