With Multiple Instances Do I need to change shminfo_shmmax kernel value on Solaris 9?

Posted on 2007-10-04
Medium Priority
Last Modified: 2012-08-14
I am running Oracle 9i on Solaris 9 Sparc platform. Our server (Sun Fire E20K) has 64 Gigs of ram. We have 6 different instances of Oracle running. The sga_max_size for each database is set to 5 gigs. Our shmmax kernel setting is set to around 6 gigs. Should the shmmax be larger? In particular someone said that the shmmax kernel parameter should be set to the sum of the sga_max_size of the instances we have running. Is this true? I have thus been unable to find any documentation on this.

Thank you
Question by:umfkit

Accepted Solution

joebednarz earned 1000 total points
ID: 20014849
From Oracle Configuration Guide for Solaris:

SHMMAX -- The maximum allowable size of one shared memory segment. The SHMMAX setting should be large enough to hold the entire SGA in one shared memory segment. A low setting can cause creation of multiple shared memory segments, which may lead to performance degradation.
LVL 48

Assisted Solution

schwertner earned 1000 total points
ID: 20014873
Of course yes!
You have to ensure the proper values for all kernel
parameters as they are mentioned in the
Oracle Installation guard.

The SHMMAX parameter is used to define the maximum size (in bytes) for a shared memory segment and should be set large enough for the largest SGA size. If the SHMMAX is set incorrectly (too low), it is possible that the Oracle SGA (which is held in shared segments) may be limited in size. An inadequate SHMMAX setting would result in the following:
ORA-27123: unable to attach to shared memory segment
You can determine the value of SHMMAX by performing the following:

# cat /proc/sys/kernel/shmmax
As you can see from the output above, the default value for SHMMAX is 32MB. This is often too small to configure the Oracle SGA. Generally it is recommended to set the SHMMAX parameter to 2GB.

Also I think that allowing SGA to grow to 5 GB as you mentioned is overhelming.  Do you really
need so big SGA? There are issues with too big SGAs.

Expert Comment

ID: 20591420
Forced accept.

EE Admin

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.
Suggested Courses

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question