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

Posted on 2007-10-04
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
    LVL 9

    Accepted Solution

    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 47

    Assisted Solution

    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.
    LVL 1

    Expert Comment

    Forced accept.

    EE Admin

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Looking for New Ways to Advertise?

    Engage with tech pros in our community with native advertising, as a Vendor Expert, and more.

    Truncate is a DDL Command where as Delete is a DML Command. Both will delete data from table, but what is the difference between these below statements truncate table <table_name> ?? delete from <table_name> ?? The first command cannot be …
    Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
    Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
    This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.

    760 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

    Need Help in Real-Time?

    Connect with top rated Experts

    13 Experts available now in Live!

    Get 1:1 Help Now