PGA grows by using the malloc() or sbrk() system
calls to extend the heap data segment for process. The new operating system
vertual memory is then added to the PGA heap as a new extent. These extents are
only a few kilobytes in size, and Oracle may allocate thousands of them if
There are, however, operating system limits on the
growth of the heap data segment of a process. In most cases the default limit is
set by an OS kernel parameter(MAXDSIZ). In some cases the default can be
changewd on a per-process basis. There is also system-wide limit on the total
virtual memory size of all processes. That limit is related to the amount of
swap space available. If either of these limit is exceeded, then the Orcale
process concerned will return an ORA-4030 error.
This error is only rarely dua to the per-process
resource limit, and normally indicates a shortage of swap spce. To diagnose the
problem use the OS facility to report swap space usage. On some OS Oracle
includes a small utility called maxmem which can be used to check the maximum
heap data segment size that a process can allocate, and which which limit is
being hit first.
If the problem is shortage of swap space, and if
paging activity is moderate or heavy, then attempt to reduce the system-wide
virtual memory usage. either by reducing the process count or by reducing the
per-process memory usage. Otherwise, if paging activity is light or nill, you
should increase the swap space or if OS supports it, enable the the use of
virtual or pseudo swap space.
Original Message -----
Whittle Jerome Contr NCI
To: Multiple recipients of list ORACLE-L
Sent: Tuesday, June 24, 2003 2:30
Subject: RE: ora-4030 out of memory
Post the query to
the list. Just maybe it could tuned or give us an idea of what's going
Jerry Whittle ASIFICS DBA NCI Information Systems Inc.
Message----- From: LeRoy Kemnitz
I have a user receiving this
error on several different Unix boxes with the same query. Oracle says to
increase the size limit which was done in 2000. The sort are size parm is
set to 10485760. Any suggestions??