細粒度審計

2021-09-22 13:32:34 字數 2582 閱讀 7137

細粒度審計 (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...