SOLVED: this issue is solved in Linux 6.4 (kernel: 2.6.39-400.17.1.el6uek and 2.6.32-358.el6).
A single entry in /etc/fstab like [tmpfs /dev/shm tmpfs size=3g 0 0] now works as it should!
There is a bug in Red Hat Linux 6 and Oracle Enterprise Linux 6 (UEK and RHEL-kernel) and probably all other Red Hat 6 related Linux Distro’s.
When you need more memory for SGA/PGA when using MEMORY_MAX_TARGET, you need to resize /dev/shm. By default this is 50% of total memory and Oracle tells you to add the following to /etc/fstab, ‘mounting’ the /dev/shm twice (?):
shmfs /dev/shm tmpfs size=3g 0 0
Which works… Continue reading
I knew in Oracle 11g with Automatic Memory Management (AMM), the database was able to give unused memory back to the OS, controlled by MEMORY_TARGET and MEMORY_MAX_TARGET.
This mechanism is present in 11g since day 1 (in 2007), but I never actually played with it.
MEMORY_TARGET and MEMORY_MAX_TARGET
The Oracle documents state the following:
MEMORY_TARGET specifies the Oracle system-wide usable memory.
MEMORY_MAX_TARGET (…) decide on a maximum amount of memory that you would want to allocate to the database for the foreseeable future.
So my guess is, MEMORY_MAX_TARGET (static) is the maximum you can set MEMORY_TARGET (dynamic) to. A couple of days ago, I wanted to experiment a bit with these memory settings.