ORA-01555 Snapshot Too Old
The snapshot too old error is a very common error we get asked about on a regular basis. It’s also a pretty simple error to avoid if you know what to look for and how to configure your queries and the Oracle database.
The error is basically stating that the database couldn’t keep enough undo data for your query while other sessions were writing/changing the data you were querying.
To avoid this error you can do the following:
- Optimize the query to take less time
- Try to reschedule the long running queries to a time when the system is issuing less DML statements.
- Increase the size of your UNDO tablespace
- Increase the size of your UNDO_RETENTION parameter
- Set the UNDO tablespace in GUARANTEE mode
- Do not commit inside a cursor loop