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.
- 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.