sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo auditar eliminaciones en una determinada tabla con Oracle?

Hay una nueva característica llamada auditoría detallada (FGA), que almacena el registro en SYS.FGA_LOG$ en lugar de SYS.AUD$. Aquí está el manual de FGA .

BEGIN
  DBMS_FGA.ADD_POLICY(
   object_schema      => 'HR',
   object_name        => 'FOO',
   policy_name        => 'my_policy',
   policy_owner       => 'SEC_MGR',
   enable             =>  TRUE,
   statement_types    => 'DELETE',
   audit_condition    =>  'USER = ''myuser''',
   audit_trail        =>  DBMS_FGA.DB);
END;
/

Sí, su comando original debería auditar las operaciones DELETE (no DROP) para este usuario en todas las tablas. Examinar show parameter audit