2011-02-09 13 views
5

Quando ho consentendo il controllo per creare sessione dal seguente senso:"audit create session by session" vs. "audit create session by access"?

audit create session by session; 

allora sto interrogando le seguenti:

select * from dba_priv_audit_opts; 

Il risultato è:

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

Ma, quando abilito il controllo per crea la sessione nel seguente modo:

audit create session by access; 

Poi sto interrogando le seguenti:

select * from dba_priv_audit_opts; 

Il risultato è lo stesso:

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

Perché? Hai qualche idea?

risposta

5

11gR2 e soprattutto:

BY SESSION è effettivamente disabili e tutto l'auditing è fatto per l'accesso.

11gR1 e sotto:

La differenza tra BY SESSION and BY ACCESS è che quando si specifica BY SESSION Oracle cercherà di unire più voci di controllo in un record quando la sessione e l'azione controllati partita.

funziona solo per le istruzioni SQL diversi DDL però, dal link qui sopra:

Se si specificano opzioni dell'istruzione o privilegi di sistema che Data Definition Language audit (DDL) dichiarazioni, quindi il database audit automaticamente accesso indipendentemente dal fatto che si specifichi la clausola BY SESSION o la clausola BY ACCESS.

Dal CREATE SESSION è una dichiarazione DDL Oracle verifica questa istruzione per accesso.

+0

Grazie, ottima risposta! – kupa