Звучи сякаш сте след „одит“. Oracle има вградена функция, наречена Fine Grain Auditing (FGA). С две думи можете да одитирате всичко или конкретни условия. Това, което наистина е страхотно, е, че можете да „одитирате“ както избрани, така и транзакции. Проста команда, за да започнете с одита:
audit UPDATE on SCOTT.EMP by access;
Мислете за това като за „тригер“ за избрани изявления. Например създавате правила:
begin
dbms_fga.add_policy (
object_schema=>'BANK',
object_name=>'ACCOUNTS',
policy_name=>'ACCOUNTS_ACCESS'
);
end;
След като сте дефинирали правилото, когато потребителят направи заявка към таблицата по обичайния начин, както следва:
select * from bank.accounts;
одитната пътека записва това действие. Можете да видите пътеката, като издадете:
select timestamp,
db_user,
os_user,
object_schema,
object_name,
sql_text
from dba_fga_audit_trail;
TIMESTAMP DB_USER OS_USER OBJECT_ OBJECT_N SQL_TEXT
--------- ------- ------- ------- -------- ----------------------
22-OCT-08 BANK ananda BANK ACCOUNTS select * from accounts