細粒度審計FGA儲存過程含義

charsi發表於2011-08-01

看看DBMS_FGA.ADD_POLICY儲存過程的含義
DBMS_FGA.ADD_POLICY(
object_schema VARCHAR2,
object_name VARCHAR2,
policy_name VARCHAR2,
audit_condition VARCHAR2,
audit_column VARCHAR2,
handler_schema VARCHAR2,
handler_module VARCHAR2,
enable BOOLEAN,
statement_types VARCHAR2,
audit_trail BINARY_INTEGER IN DEFAULT,
audit_column_opts BINARY_INTEGER IN DEFAULT);


object_schema 如果不設定預設為當前登陸使用者的schema;
object_name 需要設定,不能為空;
policy_name 不能為空;
audit_condition 指定需要審計row的條件.即指定哪些行如果訪問到了就會被審計.哪些沒有訪問到就不會被審計.預設是NULL(即true),就是所有的行.
audit_column 指定需要審計到哪些列.如果這個地方設定了列A和B,查詢則只查詢C,即使查詢條件符合audit_condition指定的條件,也不會被審計.如果設定了該引數,則引數audit_column_opts(預設為所有列)就不會生效.該引數預設值為NULL,個人理解如果為NULL的話,audit_column_opts引數就會生效就是審計表的所有列.

enable 預設為enable,可用.
statement_types 有三個值:DBMS_FGA.DB,DBMS_FGA.EXTENDED,DBMS_FGA.XML
可以生成四種搭配:
DBMS_FGA.DB 將審計結果儲存在SYS.FGA_LOG$表中,忽略SQL語句和SQL變數(SQL Text and SQL Bind);
DBMS_FGA.DB + DBMS_FGA.EXTENDED 將審計結果儲存在SYS.FGA_LOG$表中,包括SQL語句及變數(SQL Text and SQL Bind);
DBMS_FGA.XML 將審計結果儲存到作業系統的檔案中(AUDIT_FILE_DEST),不包括SQL語句;
DBMS_FGA.XML + DBMS_FGA.EXTENDED 將審計的結果儲存到系統上,包括SQL語句.
該引數預設值為DBMS_FGA.DB + DBMS_FGA.EXTENDED

audit_column_opts 預設值為ANY_COLUMNS.

由此我們可以知道,將表中的資料當作是二維資料,audit_condition和audit_column兩個引數就是二維資料的兩個橫向和縱向的限制條件.由這兩個引數就可以確認審計的是哪些資料.

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23850820/viewspace-1053920/,如需轉載,請註明出處,否則將追究法律責任。

相關文章