Wygląda na to, że jesteś po „audycie”. Oracle ma wbudowaną funkcję o nazwie Fine Grain Auditing (FGA). W skrócie możesz przeprowadzić audyt wszystkiego lub określonych warunków. Naprawdę fajne jest to, że możesz „audytować” zarówno wybory, jak i transakcje. Proste polecenie do rozpoczęcia audytu:
audit UPDATE on SCOTT.EMP by access;
Pomyśl o tym jako o „wyzwalaczu” dla wybranych instrukcji. Na przykład tworzysz zasady:
begin
dbms_fga.add_policy (
object_schema=>'BANK',
object_name=>'ACCOUNTS',
policy_name=>'ACCOUNTS_ACCESS'
);
end;
Po zdefiniowaniu zasad, gdy użytkownik odpytuje tabelę w zwykły sposób, w następujący sposób:
select * from bank.accounts;
ścieżka audytu rejestruje to działanie. Możesz zobaczyć szlak, wydając:
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