Oracle
 sql >> Database >  >> RDS >> Oracle

Come controllare le eliminazioni in una determinata tabella con Oracle?

C'è una nuova funzionalità chiamata FGA (fine-grained auditing), che memorizza il log in SYS.FGA_LOG$ invece SYS.AUD$. Ecco il manuale 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ì, il comando originale dovrebbe controllare le operazioni DELETE (non DROP) per questo utente su tutte le tabelle. Esamina show parameter audit