Parece que estás buscando 'auditar'. Oracle tiene una característica incorporada llamada Auditoría de grano fino (FGA). En pocas palabras, puede auditar todo o condiciones específicas. Lo que es realmente interesante es que puede 'auditar' tanto las selecciones como las transacciones. Comando simple para comenzar con la auditoría:
audit UPDATE on SCOTT.EMP by access;
Piense en ello como un 'disparador' para declaraciones seleccionadas. Por ejemplo, crea políticas:
begin
dbms_fga.add_policy (
object_schema=>'BANK',
object_name=>'ACCOUNTS',
policy_name=>'ACCOUNTS_ACCESS'
);
end;
Después de haber definido la política, cuando un usuario consulta la tabla de la forma habitual, de la siguiente manera:
select * from bank.accounts;
la pista de auditoría registra esta acción. Puede ver el rastro emitiendo:
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