Many time people come accross "Snapshot too Old" error. there are many reasons for this error but the most basic and important one is that the rollback segments are too small.
Accordingly, this error can arise when a long-running query is being executed at the same time as data manipulation transactions.
Possible Remedies:
Increase the size of all the roll back segments.
Add more rollback segments.
Increase the ‘OPTIMAL’ size of the roll back segments, i.e.:
Alter rollback segment "XXX" storage (optimal NNNK);
If the error seems to be associated with a particular application (job or script and not necessarily the one producing the error) then investigate whether that application’s use of rollback space could be reduced. For example, consider whether the application could 'commit' more frequently. For long running applications (particularly if it is the application that is encountering the error) consider whether any record sets could be refreshed periodically rather than relying upon the same record set contents for the entire run of the application.