2011-02-09 101 views
5

當我啓用審覈通過以下方式創建會話「審計按會話創建會話」與「按訪問審計創建會話」?

audit create session by session; 

然後我查詢以下:

select * from dba_priv_audit_opts; 

結果是:

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

但是,當我通過以下方式啓用審覈創建會話

audit create session by access; 

然後我查詢以下:

select * from dba_priv_audit_opts; 

的結果是一樣的:

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

爲什麼?你有什麼主意嗎?

回答

5

11gR2的以上:

BY SESSION是有效地禁用,所有的審覈由每個接入完成。

11gR1中及以下:

BY SESSION and BY ACCESS之間的區別是,當你指定BY SESSION甲骨文將嘗試在會話和行動審計匹配多個審覈條目合併成一個記錄。

它僅適用於比DDL其他SQL語句,雖然,從上面的鏈接:

如果指定語句選項或審計數據定義語言(DDL)語句,則數據庫會自動審覈系統權限無論您是指定BY SESSION子句還是BY ACCESS子句,都可以進行訪問。

由於CREATE SESSION是一個DDL語句,甲骨文獲得審覈本聲明。

+0

謝謝,非常好的答案! – kupa 2011-02-09 13:06:35