Audit delle transazioni DML in una tabella
Aug 17 2020
Voglio registrare qualsiasi DML
transazione che avviene table
in un giorno in un'altra tabella. Voglio anche registrare la transazione con i valori. Come è possibile in Oracle Database
?
Mi è stato detto di non usare i trigger a causa della sua enorme manutenzione e inoltre rallenta l'applicazione.
Risposte
ConnorMcDonald Aug 17 2020 at 14:00
Un paio di opzioni che hai sarebbero
- Archivio dati flashback.
Questo utilizza la tecnologia flashback per acquisire le modifiche dei record che possono quindi essere interrogate tramite la sintassi "versioni tra". Non utilizza affatto trigger, ma presenta alcune limitazioni. Una spiegazione video di questo qui
https://www.youtube.com/watch?v=qIs2UPIodQg
- I trigger per l'auditing possono essere efficienti fintanto che sono scritti correttamente (bind in blocco, ecc.). Se non ti piace il sovraccarico di manutenzione, ecco uno strumento che genererà automaticamente i trigger e li manterrà man mano che la tabella cambia nel tempo.
https://connor-mcdonald.com/2020/08/04/level-up-your-audit-trigger-game/