Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: ORA-04030: out of process memory
Hi
> I have an application that runs nicely for many days and then eventually
> it throws this error:
Did you monitored the session and overall PGA utilization over many days? (e.g. 'session pga memory' in V$SESSTAT and V$SYSSTAT).
> java.sql.SQLException: ORA-04030: out of process memory when
> trying to allocate 57868 bytes (hash-join subh,kllcqas:kllsltba)
>
> I have googled and metalinked this error and have learnt the following:
>
> - the oracle process which is servicing the session for this app is
> trying to allocate memory for the PGA and is unable to
> - this allocation request is governed by the sort_area_size setting
> - the problem may be rectified by reducing the sort area size to lower
> the demand on physical memory
The error message mention "hash-join", i.e. the problem probably doesn't involve the sort_area_size parameter but the hash_area_size parameter.
> I am confused because the box running oracle (9.2.0.4) is actually
> showing that 70% of memory buffers are free and that only 5% of swap is
> used. What worries me is that swap is being used at all when there is
> so much memory free. This is on RedHat AS with the latest 2.4 kernel as
> pulled down via up2date.
What do you mean with "70% of memory buffers" ? How do you check this value?
If you have enough free memory, ORA-04030 are caused by a limit set on the process's data segment. In fact also if at OS level there are many GB of free memory, the limit set at process level cannot be crossed. You can check your current limits with "ulimit -a".
Chris
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
![]() |
![]() |