Oracle 11g shmmax and shmal values
ViktorJul 15 2011 — edited Jul 28 2011Hi,
we have successfully upgraded our Oracle Database from 10.2.0.4 to 11.2.0.2.
We also tried to adjust the shmall and shmmax values.
But after the adjustment the Oracle Database didn't start anymore with the error: ORA-27102: out of memory
After a research in google we find some formulas how to calculate the values but they are all different so we don't know which we should use.
Maybe some of you can explain us how to calculate the values.
Our configuration is:
OS: Red Hat 5.6
Memory: 16GB
Swap: 12GB
SGA settings:
Total System Global Area 1.0656E+10 bytes
Fixed Size 2235856 bytes
Variable Size 2415919664 bytes
Database Buffers 8220835840 bytes
Redo Buffers 17076224 bytes
The current shmall and shmmax values:
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
The formulas we found are:
1. shmall = RAM / PAGE_SIZE
shmmax = 1/2 RAM but not more than 4GB
2. shmall = shmmax / PAGE_SIZE
shmmax = 1/2 RAM but not more than 4GB
3. shmall = sum of sizes of all SGAs on the server / PAGE_SIZE
shmmax = largest single SGA on server