From metalink:

This is happening because your process memory is getting exhausted. The possible solutions would be

- Increase the ulimit ( virtual memory ) to unlimited.
% ulimit -a would give you the current settings.

- Decrease the SGA size, if it is set to a very large value. This is required if you are hitting the address space limits.

- You may also try decreasing the parameters like sort_area_size , bitmap_merge_area_size , create_bitmap_area_size .

- You can also free up the unused PGA memory by running the procedure dbms_session.free_unused_user_memory..

If your application uses lots of PL/SQL tables, it might be a good idea to initialize them to NULL when not used. This will force
the garbage collection and there by freeing up the process memory.