Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Pinning the SGA under Solaris 8
>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