[Translated from mos] relationship between SGA_TARGET and SHMMAX,
Relationship between SGA_TARGET and SHMMAX
Reference Original:
Relationship Between SGA_TARGET and SHMMAX (Document ID 1527109.1)
Applicable:
Oracle Database-Enterprise Edition-Version 10.1.0.2 to 11.2.0.3 [Release 10.1 to 11.2]
Information in this document applies to any platform.
Purpose:
Explains the relationship between the parameter SGA_TARGET In the parameter file and the operating system kernel parameter SHMMAX.
Q1) How does the SHMMAX restriction affect SGA_TARGET?
A1) SHMMAX is the maximum size of a single shared memory segment (shared memory segment) in bytes ). Ideally, we can set SGA_TARGET <SHMMAX to match SGA_TARGET with a shared memory segment (fit in ).
If SGA_TARGET> SHMMAX, oracle tries to use multiple consecutive shared memory segments to match SGA_TARGET. If this attempt fails, oracle uses multiple non-consecutive shared memory segments, at this time, Oracle has to capture (grab) idle memory segments in the used space
Q2) If I set SHMMAX to 16 GB, is this 16 GB the maximum value allowed by SGA_TARGET?
A2) Same as the previous issue, note that SHMMAX is not recommended for Oracle. See the following article:
Maximum SHMMAX values for Linux x86 and x86-64 (Doc ID 567506.1)
Q3) if I need to run multiple databases on a db server and the sga of each database is 12 GB, how can I set the SHMMAX parameter?
A3) in this case, you need to ensure that the value of SHMMALL (instead of SHMMAX) is greater than the sum of sga on all databases. SHMMALL is the total size of the shared memory segment (in page. Note that the SHMMAX is measured in bytes, while the SHMMALL is measured in pages.