Quote:
Originally posted by rohitsn
Hi,
See the error u are getting is because the transaction is not fitting into the rollback segment.When u are starting the transaction Oracle assigns a rollback segment and updates its transaction table with the information.So when the transaction comes to the last extent and still it is not complete it overwrites the transaction header information and it gives u "snapshot too old " error.
Your description has nothing to do with ORA-1555. It is not the size of the transaction itself that is causing this error. You can easilly get this error even if you don't perform any transaction at all, for example during a long-running select, when you don't cahnge any data, so you don't directly use any rollback segment at all! Generaly the main reason for snapshot too old is the fact that the select you are doing (implicit or explicit cursor) can not construct a read consistent view of changed blocks that must be read during the query.