ORA-845: MEMORY_TARGET not supported on this system

Applies to: Database Management Softwere Oracle 11g std and Enterperise Edition

After re size MEMORY_MAX_SIZE, I restart my database and got ORA-845: MEMORY_TARGET not supported on this system and database doesn't start.

Solutions:


1. If you are installing Oracle 11g on a Linux system, note that Memory Size (SGA and PGA), which sets
the initialization parameter MEMORY_TARGET or MEMORY_MAX_TARGET, cannot be greater than the shared memory filesystem (/dev/shm) on your operating system. To resolve the current error, increase the /dev/shm file size.

check your system if shm is mounted or not using df -h like:

oracle@dba:/u01/app/oracle/product/11.2.0/db_1/dbs> df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda6             133G   71G   62G  54% /
udev                   24G  172K   24G   1% /dev
/dev/sda2             2.0G  4.0K  2.0G   1% /windows/C


In above example /dev/shm is not allocated.

In second situation if  /dev/shm is allocated, but not as we are allocating to MEMORY_MAX_TARGET.


oracle@dba:/u01/app/oracle/product/11.2.0/db_1/dbs> df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda6             133G   71G   62G  54% /
udev                   24G  172K   24G   1% /dev
/dev/sda2             2.0G  4.0K  2.0G   1% /windows/C
shmfs                  16G     0   16G   0% /dev/shm


In above example /dev/shm is 16G, but we are allocating MEMORY_MAX_TARGET to 20G.

To solve both situations:

# mount -t tmpfs shmfs -o size=16g /dev/shm

Also, to make this change persistent across system restarts, add an entry in /etc/fstab similar to the following:

shmfs /dev/shm tmpfs size=16g 0

To crosscheck user df -h and your size is increased.

No comments:

Post a Comment