Wednesday, March 5, 2008

ORA-4030 on 10gR1 RAC instance at Windows 2003 Server Part2

The ORA-4030 error indicates that an Oracle process could not allocate the amount of memory
required for an operation.
On Windows 32-bit servers the total address space for a single process is 2 GB, regardless of the amount of available physical memor
The 32-bit architecture limits the addressing range to 4 GB, and as 2 of these GBs are reserved of the kernel, a user process cannot be more than 2 GB.

When a client connects to the database a shadow process is created.
This is where the PGA memory belongs to. On Windows systems, this is not created as a new proces
s, but as a thread under the ORACLE.EXE executable. This means that the Oracle d
atabase and all its connections are treated as one single process (ORACLE.EXE) w
ith a large number of threads. In other words, the total address space for the d
atabase and all connections to it are restricted to 2 GB. In real-life the limit
is at appr. 1.7 GB.

As you know SGA + max alloc. PGA + oracle mem structures = total size of the ORACLE.EXE process.

We need to get more memory for max alloc. PGA.

1. If your server has got up to 3GB RAM then you should decrease the value of SGA components (shared_pool, db_cache);
2. If your server has got +/- 4Gb RAM then it's important to use the /3Gb switch in the boot.ini.

No comments:

Post a Comment