Linux kernel settings and Oracle memory allocations.
778076Jul 23 2010 — edited Jul 26 2010I'm currently setting up an Oracle 11G R2 database, on a Linux (SLES 11) OS. The OS and DB software are both 64 bit.
I was wondering about the optimum method of allocating shared memory such that I can get the automatic memory management to recognise 12G of memory (allowing 4G for the operating system and other bits).
The kernel parameters I've set are:
SHMMAX: 8589934592 (the recommended physical memory/2).
SHMALL: 3145728 (this gives a total of 12GB of shared memory allocation as the page size is 4096).
From the way I've been reading the documentation, this should free up sufficient shared memory to allow specifying a memory_max_target and memory_target of "11G". I'm trying 11G to ensure I'm not messing up by a few bytes (if it all works, I'll expand to 12G).
However, every time I attempt a startup, I get the 'ORA-00845: MEMORY_TARGET not supported on this system' error.
This goes away if I create a large shmfs block by using a mount command, but I was under the impression that you no longer had to do this with a 64 bit system and Oracle 11G.
Could anyone clarify a little as to what I'm doing wrong, and where I should be looking for the answer?
Cheers,
Rich