細粒度審計 (fga)(通過 oracle9i 引入)可以理解為「基於策略的審計」。與標準的審計功能相反,fga 可用於指定生成審計記錄必需的條件:
fga 策略通過使用「dbms_fga」程式包以程式設計方式繫結到物件(表、檢視)。類似於用於通過 vpd ("dbms_rls") 進行訪問控制的程式包,它允許您建立任何需要的條件
語法:
dbms_fga.add_policy(
object_schema varchar2, --要審計物件所在使用者的名稱,如果是空,就預設是當前使用者
object_name varchar2, --要審計的物件
policy_name varchar2, --審計策略的名稱
audit_condition varchar2, --制定乙個布林條件,若為空,就表示true,即對所有行為
audit_column varchar2, --執行一列或多列,包括隱藏列。未指定表示所有列
handler_schema varchar2, --如果違反策略時要向其他使用者傳送告警,執行此使用者名稱
handler_module varchar2, --指定處理措施的名稱。包含處理措施所在的包。
--不能造成某個動作死迴圈或者啟用、禁用細粒度審計策略,否則報錯ora1000、36、28144
enable boolean, --啟用或禁用策略,預設為ture,即啟用
statement_types varchar2,--指定要審計的動作,如insert、update、delete、select
audit_trail binary_integer in default,--指定審計記錄儲存位置以及是否統計fga_log$的lsqltext和lsqlbind列;如果指定audit_trail為xml,會將xml檔案寫入到audit_file_dest引數指定位置;對唯讀資料庫,oracle將審計記錄寫入xml格式檔案,不管audit_trail如何設定
audit_column_opts binary_integer in default);--如果制定了多行,該引數判斷是否審計所有或單獨的行(dbms_fga.all_columns和dbms_fga.any_columns兩個值)
例句:
begin
dbms_fga.add_policy(
object_schema => 'hr',
object_name => 'employees',
policy_name => 'p_hr_employees',
enable => true,
statement_types => 'insert, update, select, delete',
audit_trail => dbms_fga.db);
end;
/
dbms_fga.drop_policy(
object_schema varchar2, --要審計物件所在使用者的名稱,如果是空,就預設是當前使用者
object_name varchar2, --要審計的物件
policy_name varchar2 ); --審計策略的名稱
dbms_fga.disable_policy(
object_schema varchar2, --要審計物件所在使用者的名稱,如果是空,就預設是當前使用者
object_name varchar2, --要審計的物件
policy_name varchar2 ); --審計策略的名稱
dbms_fga.enable_policy(
object_schema varchar2, --要審計物件所在使用者的名稱,如果是空,就預設是當前使用者
object_name varchar2, --要審計的物件
policy_name varchar2, --審計策略的名稱
enable boolean); --啟用
select object_schema, --要審計物件所在使用者的名稱
object_name, --要審計的物件
policy_owner, --審計策略的擁有者
policy_name, --審計策略的名稱
policy_text, --審計內容
policy_column, --執行一列或多列,包括隱藏列。未指定表示所有列
pf_schema, --
pf_package,
pf_function,
enabled,
sel,
ins,
upd,
del,
audit_trail,
policy_column_options
from dba_audit_policies;
oracle細粒度審計
建立審計表空間 tablespace created.connect as sysdba sql alter table aud move tablespace audittbs table altered.sql alter table audit move tablespace audittbs...
Oracle細粒度審計(FGA)初步
oracle細粒度審計 fga 初步 細粒度審計 fga 是在oracle 9i中引入的,能夠記錄scn號和行級的更改以重建舊的資料,但是它們只能用於select語句,而不能用於dml,如update insert和delete語句.因此,對於oracle資料庫10g之前的版本,使用觸發器雖然對於以...
redis 細粒度鎖
上一節我描述了粗粒度鎖,並且描述了它的缺點。這一節我將使用細粒度鎖來處理上一節中粗粒度鎖所帶來的問題。我們可以為集合中的每個資源提供乙個鎖,這樣可以避免每次的操作都會鎖住所有的資源,其次我們為每乙個鎖設定乙個超時時間,避免死鎖情況的出現。下面看一下 鎖定資料 param key param fiel...