How long it takes before the SELECT fails ? Have you optimised the SELECT statement itself ? If not, that should be the first thing.

Whats the reason behind doing this huge SELECT as ONE query ? Can you do it in separate SELECTs ?

Is your rollback tablespace and the segments sized adequately ?