he "ORA-01555 snapshot too old" error, which causes user transactions to fail, is a nightmare for Oracle DBAs and developers. It usually occurs after queries or batch processes have been running for a long time, which means you can lose many hours of processing when the error crops up.
POSSIBLE RESONS..
An active database with an insufficient number of small-sized rollback segments.
A rollback segment corruption that prevents a consistent read requested by the query.
A fetch across commits while your cursor is open
low value undo retantion

SET TRANSACTION USE ROLLBACK SEGMENT Rb_Large

so u can use different ROLLBACK SEGMENT....
SET TRANSACTION USE ROLLBACK SEGMENT Rb_Large.
morover,ur quary take 1158 second u can reduce time by sql tuning .