Search This Blog

Wednesday, November 10, 2010

ORA-00845: MEMORY_TARGET not supported on this system

SQL> STARTUP
ORA-00845: MEMORY_TARGET not supported on this system
Cause of the Problem
-Starting from Oracle 11g the automatic memory management feature is now defined with parameter MEMORY_TARGET and MEMMORY_MAX_TARGET.
-On linux file system the shared memory need to be mounted on /dev/shm directory on the operating system.
-And the size of /dev/shm needs to be greater than MEMORY_TARGET or MEMMORY_MAX_TARGET.
-The AMM (Automatic Memory Management) now in 11g manages both SGA and PGA together by MMAN process.
-The MEMORY_TARGET parameter in 11g comes for (SGA_TARGET+PGA_AGGREGATE_TARGET) which was in 10g.
-And MEMORY_MAX_TARGET parameter in 11g comes instead of SGA_MAX_TARGET parameter which was in 10g.
-The ORA-00845:can arises for the following two reasons on linux system.
1)If the shared memory which is mapped to /dev/shm directory is less than the size of MEMORY_TARGET or MEMORY_MAX_TARGET.
or,
2)If the shared memory is not mapped to /dev/shm directory.

Solution 
Make sure /dev/shm is properly mounted. You can see it by,
df -h
The output should be similar like
$ df -k
Filesystem            Size  Used Avail Use% Mounted on

shmfs                 3G    1000M 1000M  50% /dev/shm
We see here for /dev/shm we have assigned 3G memory. Now if you set MEMORY_TARGET more than 3G then above ORA-845 will arise.
For example if you have MEMORY_TARGET or MEMORY_MAX_TARGET set to 3G then you can mount shared memory to 3G like below.
As a root user,
# mount -t tmpfs shmfs -o size=3g /dev/shm
In order to make the settings persistence so that it will affect after restarting machine add an entry in /etc/fstab similar to the following:
shmfs /dev/shm tmpfs size=3g 0

No comments:

Post a Comment

leave your message if you need help ...

Related Posts with Thumbnails