Excellent inputs from Connor! For example, if you use BULK DML (by a batch job) on the live table then a trigger would not be a preferred solution as it does row by row insert to the audit table. This potentially could be your con #2. I'd look for ways to pick up the change from the redo. Also, I'd look at partitioning the audit table in order to drop/archive old partitions, over time depending on transaction volume you may end up having audit tables largest in size. -Arul