1. Amount of Undo Log
Delete > Update > Insert
Operations on Indexed Columns > Operations on Non-indexed
2. What can cause "Snap Too Old" exception? => The undo segment is too small
3. How to make the undo segment not so small?
a. Enlarge it, of course
i.Enlarge UNDO_RETENTION, which should be larger than longest transaction
ii.Set it by DBA manually
b. Query Tuning
c. Do the block-cleanout by your self