Audit کردن یک فیلد از جدول
حال اگر بخواهید که log تغییرات بر روی یک فیلد از جدول را داشته باشید بصورت زیر عمل می کنید که با مثال آنرا بیان می کنم
1)
create table test_fga
(
id number primary key,
value number,
name varchar2(100)
);
insert into test_fga values ( 1, 1000, 'saeed');
insert into test_fga values ( 2, 2000 , 'armin');
commit;
2)
BEGIN
DBMS_FGA.add_policy(
object_schema => 'TEST',
object_name => 'TEST_FGA',
policy_name => 'FGA_TEST_CHECK_VALUE',
audit_column => 'VALUE',
statement_types => 'UPDATE');
END;
/
3)
update test_fga set name = 'ali'
where id= 1
4)
select session_id,timestamp,db_user,sql_text from dba_fga_audit_trail;
|
هيچ ركوردی بازيابي نمي شود
5)
update test_fga set value = 1500
where id= 1
6)
select session_id,timestamp,db_user,sql_text from dba_fga_audit_trail;
Result:
update test_fga set value = 1500
where id= 1
7)
update test_fga set value = 1500, name = 'ali'
where id= 1
8)
select session_id,timestamp,db_user,sql_text from dba_fga_audit_trail;
Result:
update test_fga set value = 1500, name = 'ali'
where id= 1
|
امیدوار هستم مورد استفاده دوستان قرار گیرد