| How Oracle rollback segments work is a widely misunderstood concept of the Oracle RDBMS, and consequently the "ORA-01555: snapshot too old" error message strikes fear into the hearts of Database administrators and SQL programmers alike. This web page tries to explain the cause of this error message, and how to avoid it. |
| "Snapshot too old" can occur as a result of delayed block cleanout as follows: The table you are reading has been updated and committed some time in the past, possibly long before your query started. However, when Oracle commits a long-running transaction, it does not always mark all the affected data blocks as committed, as this would involve a lot of work, especially if a lot of blocks had been updated by the transaction. |