Oracle Snapshot too old error

What is Ora1555 error. Snapshot too Old error. Explain in detail.

Questions by Pragati.rch

Showing Answers 1 - 1 of 1 Answers

Oracle Rollback Segments (Undo more recently) hold a copy of data before it was modified, and they work in a round-robin fashion.  Writing and then eventually overwriting the entries as soon as the changes are committed.

They are needed to provide read consistency (a consistent set of data at a point in time) or to allow a process to abandon or rollback the changes or for database recovery.

Here’s a typical scenario:-

User A opens a query to fetch every row from a billion row table.

If User B updates and commits the last row of the billion row table, a Rollback entry will be created so User A can see the data as it was before the update.

Other users are busily updating rows in the database, and this in turn generates rollback – which may eventually cause the entry needed for User A to be overwritten (after all User B did commit the change – so it’s OK to overwrite the rollback segment).

Maybe 15 minutes later the query is still running, and User A finally fetches the last row of the billion row table – but the rollback entry is gone.

 ORA-01555: Snapshot too old, rollback segment too small

You need to size your rollback segments suitably.  Myself I’d see to find sensible advice.

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.


Related Answered Questions


Related Open Questions