ORA-01555: Snapshot too old
- Try to run long running queries on off peak hours, when there is less DML transactions on database.
- Database should be in Automatic Undo Management mode.
- Use a large optimal size of rollback segment (undo) size.
- Use a large optimal value for undo_retention.
- Should avoid to fetch (select / cursors) between commits.
- Should Commit less often at the time of long running query, to reduce Undo Segment reuse.