ORA-04030: out of process memory when trying to allocate # bytes

When can we get this error?

1. Process running is not able to allocate required memory
2. Process has reached the threshold limit

Users may have different threshold values. We can check that by using the ulimit command

$ ulimit -a

time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 4194304
memory(kbytes) unlimited
coredump(blocks) 2097151
nofiles(descriptors) 2000

I often started getting ORA-04030 error on one of the oracle database, while building the indexes.

After investigation, index creation was working with some users.

So in this case, solution was straightforward.

Check the ulimit for those users, where index creation is failing. Make the necessary changes in

/etc/security/limits
data = -1
rss = -1

Where -1 is unlimited

Bounce the server. Check the ulimit.

In most of the cases, it may resolve the problem.

Advertisements
This entry was posted in Oracle Database Architecture and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s