Sembra che tu stia cercando 'auditing'. Oracle ha una funzionalità integrata chiamata Fine Grain Auditing (FGA). In poche parole puoi controllare tutto o condizioni specifiche. La cosa davvero interessante è che puoi "controllare" le selezioni e le transazioni. Semplice comando per iniziare con l'auditing:
audit UPDATE on SCOTT.EMP by access;
Pensalo come un "trigger" per le affermazioni selezionate. Ad esempio, crei criteri:
begin
dbms_fga.add_policy (
object_schema=>'BANK',
object_name=>'ACCOUNTS',
policy_name=>'ACCOUNTS_ACCESS'
);
end;
Dopo aver definito la politica, quando un utente interroga la tabella nel solito modo, come segue:
select * from bank.accounts;
l'audit trail registra questa azione. Puoi vedere il percorso pubblicando:
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