Tabloların tüm kolonlarını seçerek veya istediğimiz kolonlar için filtreleme koyarak denetim sağlayabiliriz, denetim kayıtları sys.fga_log$ view’inde tutulur.

Örneğin orhan user’ının orhan_deneme ismindeki tablosunu FGA denetimine alalım ve raporunu Audit Vault konsolundan çekelim;

create table orhan_deneme (id number, adi varchar2(20), per_no number);
BEGIN
DBMS_FGA.ADD_POLICY 
 (object_schema    => '"ORHAN"',
                        object_name         => '«ORHAN_DENEME"',
                        policy_name         => '«ORHAN_DENEME_IUD"',
                        statement_types   => 'DELETE,INSERT,UPDATE',
                        audit_trail              => DBMS_FGA.DB,
                        audit_column_opts   => DBMS_FGA.any_columns);
END;
select POLICY_NAME from dba_audit_policies where OBJECT_NAME=‘ORHAN_DENEME';

drop etmek için;


BEGIN
   DBMS_FGA.DROP_POLICY (object_schema   => '"ORHAN"',
                         object_name     => '"ORHAN_DENEME"',
                         policy_name     => '"ORHAN_DENEME_IUD"');
END;
/
select * from orhan_deneme;
insert into orhan_deneme (id, adi, per_no) values (12,'ahmet', 76);
insert into orhan_deneme (id, adi, per_no) values (:t1,:t2, :t3);
update orhan_deneme set per_no=38 where id=22;
delete orhan_deneme where id=12;
commit;
Declare
c number;
begin
for rec in 1..100 loop 
c:=rec;
insert into orhan_deneme values(c,'orhan'||c,rec+10);
end loop;
commit;
end;


Audit Vault konsoldan tablomuzun audit loglarının raporunu çekebiliriz; Resim2
















Resim3
















aşağıdaki gibi bir sorgu ile de konsolun verdiği raporu çekebiliriz;

select B.HOST_NAME, C.USER_NAME, e.TARGET_NAME, D.EVENT_NAME, A.EVENT_TIME,
A.SQL_TEXT_str, a.SQL_BIND_STR
from
  AVSYS.AUDIT_EVENT_FACT A,
  AVSYS.CLIENT_HOST_DIM B ,
  AVSYS.USER_DIM C,
  AVSYS.EVENT_DIM d,
  AVSYS.TARGET_DIM E
where B.DIMENSION_KEY = A.CLIENT_HOST_DIM AND C.DIMENSION_KEY = A.USER_DIM 
AND D.DIMENSION_KEY = A.EVENT_DIM AND E.DIMENSION_KEY = A.TARGET_DIM AND
D.EVENT_NAME IN ('UPDATE','INSERT','DELETE') AND E.TARGET_NAME = 'ORHAN_DENEME'  
--and A.EVENT_TIME between to_timestamp( '02.11.2013','dd.mm.yyyy') and
to_timestamp( '03.11.2013','dd.mm.yyyy') 
order by event_time, c.user_name;
Reklamlar