Det lyder som om du er ude efter 'revision'. Oracle har en indbygget funktion kaldet Fine Grain Auditing (FGA). I en nøddeskal kan du revidere alt eller specifikke forhold. Det, der er rigtig fedt, er, at du kan 'revidere' valg såvel som transaktioner. Simpel kommando til at komme i gang med revision:
audit UPDATE on SCOTT.EMP by access;
Tænk på det som en 'trigger' for udvalgte udsagn. For eksempel opretter du politikker:
begin
dbms_fga.add_policy (
object_schema=>'BANK',
object_name=>'ACCOUNTS',
policy_name=>'ACCOUNTS_ACCESS'
);
end;
Når du har defineret politikken, når en bruger forespørger i tabellen på den sædvanlige måde, som følger:
select * from bank.accounts;
revisionssporet registrerer denne handling. Du kan se sporet ved at udstede:
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