SHMMAX Sizing with Oracle Automatic Memory Management (AMM)
I have a question below and some reference information that I have collected.
ENVIRONMENT
Three Node RAC Cluster
Single Database
Oracle Linux 5 Update 2
Oracle Grid Infrastructure 11gR2 (11.2.0.2.0)
- Oracle Automatic Storage Management 11gR2 (11.2.0.2.0)
Oracle Database 11gR2 (11.2.0.2.0) Enterprise Edition with RAC option
RAM Currently: 16 Gb Soon to be Upgraded to: 32 Gb
DEFINITION
Kernel parameter controlling maximum size (in bytes) of one shared memory segment.
ORACLE REFERENCES
Doc ID 567506.1 Maximum SHMMAX values for Linux x86 and x86-64
Oracle Global Customer Support officially recommends a " maximum" for SHMMAX of "1/2 of physical RAM".
The maximum size of a shared memory segment is limited by the size of the available user address space. On 64-bit systems, this is a theoretical 2^64bytes. So the "theoretical limit" for SHMMAX is the amount of physical RAM that you have. However, to actually attempt to use such a value could potentially lead to a situation where no system memory is available for anything else. Therefore a more realistic "physical limit" for SHMMAX would probably be "physical RAM - 2Gb".