Oracle 11g AMM: MEMORY_TARGET, MEMORY_MAX_TARGET and /dev/shm

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.

Continue reading