Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Pinning the SGA under Solaris 8

Re: Pinning the SGA under Solaris 8

From: srivenu <srivenu_at_hotmail.com>
Date: 26 Aug 2002 23:14:24 -0700
Message-ID: <1a68177.0208262214.58ee293b@posting.google.com>


>I know the default in Oralce 8i and later is to pin the SGA into
memory,
>but it used to be there were OS specific stuff you had to do for
Solaris
>that was buried in release notes somewhere. I cannot find this
anywhere
>now, and was wondering if any extra steps were required for Solaris 8
and 9?

There is nothing you have to do to pin SGA into memory. By default ISM is enabled by Oracle and by SOlaris kernel. A special kind of shared memory known as intimate shared memory (ISM) is used by DBMS vendors to maximize performance. When a shared memory segment is made into an ISM segment, the memory for the segment is locked. This enables a faster I/O path to be followed and improves memory usage because a number of kernel resources describing the segment are now shared between all processes attaching to the segment in ISM mode.
With ISM, Shared memory is mapped using large pages which are locked in physical memory. When a shared memory segment is attached in ISM mode, the OS locks that segment into physical memory and arranges the virtual/physical address mappings such that only one copy of the mapping information is shared amongst all attaching processes. There were some problems with using ISM on SUN E10000 systems but not on others.
ISM should not be disabled without a very specific reason. One reason may be that a high percentage of your system memory is being allocated as Shared Memory, so that other demands for RAM are suffering.

Solaris 8, makes it even better by supporting what is called as DISM (Dynamic Intimate Shared Memory). This basically means that only the active granules in the SGA are located in physical memory. All unused granules will be stored in swap until needed. This is very useful for Oracle 9i which supports Dynamic SGA.
Oracle9i will allocate sufficient shared memory segment(s) to have a total sized at, or just above the size specified by SGA_MAX_SIZE when the instance is started. If you are using ISM, all these will be pinned in memory. If SGA_MAX_SIZE is set to a value larger that the sum of the components of the SGA, then physical memory will be allocated to the SGA but will not be useable by any running processes. So if you are using Oracle 9i on Solaris 8 use DISM. DBAs be very careful how the SGA is configured/sized when running Oracle9i on Solaris operating system versions 2.6 or 7 (2.7)since they only support ISM.

refer to this URL if you are looking for tunable Solaris Kernel parameters
http://docs.sun.com/?p=/doc/806-6779/6jfmsfr77&a=view Received on Tue Aug 27 2002 - 01:14:24 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US