2011-02-09 20 views
5

Kiedy umożliwienia inspekcji utworzyć sesji przez następujący sposób:"audyt utworzyć sesję według sesji" kontra "audyt utworzyć sesję według dostępu"?

audit create session by session; 

to jestem zapytań następujące:

select * from dba_priv_audit_opts; 

wynik jest:

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

Ale Kiedy włączam inspekcję dla , tworzę sesję w następujący sposób:

audit create session by access; 

to jestem zapytań następujący:

select * from dba_priv_audit_opts; 

rezultat jest taki sam:

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

Dlaczego? Masz jakiś pomysł?

Odpowiedz

5

11gR2 i powyżej:

BY SESSION jest skutecznie wyłączone, a wszystko odbywa się za audyt dostępu.

11gR1 i poniżej:

Różnica między BY SESSION and BY ACCESS jest to, że gdy podasz BY SESSION Oracle spróbuje połączyć wiele wpisów audytu w jednym rekordzie, gdy sesja i działanie zbadane mecz.

Działa tylko dla SQL innych niż DDL choć Z powyższego linku:

Jeżeli określić opcje oświadczenia lub uprawnienia systemowe że język definicji danych audytu (DDL) oświadczenia, a następnie baza danych automatycznie także audyty dostęp bez względu na to, czy określono klauzulę BY SESSION, czy klauzulę BY ACCESS.

Ponieważ CREATE SESSION jest stwierdzeniem DDL, firma Oracle kontroluje tę instrukcję przez dostęp.

+0

Dziękuję, bardzo dobra odpowiedź! – kupa