This appendix contains information about administering Oracle Database on Solaris.
On Solaris systems, Oracle Database uses Intimate Shared Memory (ISM) for shared memory segments because it shares virtual memory resources between Oracle processes. ISM causes the physical memory for the entire shared memory segment to be locked automatically.
On Solaris 8 and Solaris 9 systems, dynamic/pageable ISM (DISM) is available. This enables Oracle Database to share virtual memory resources between processes sharing the segment, and at the same time, enables memory paging. The operating system does not have to lock down physical memory for the entire shared memory segment.
Oracle Database automatically selects ISM or DISM based on the following criteria:
Oracle Database uses DISM if it is available on the system, and if the value of the
SGA_MAX_SIZE initialization parameter is larger than the size required for all SGA components combined. This enables Oracle Database to lock only the amount of physical memory that is used.
Oracle Database uses ISM if the entire shared memory segment is in use at startup or if the value of the
SGA_MAX_SIZE parameter is equal to or smaller than the size required for all SGA components combined.
Regardless of whether Oracle Database uses ISM or DISM, it can always exchange the memory between dynamically sizable components such as the buffer cache, the shared pool, and the large pool after it starts an instance. Oracle Database can relinquish memory from one dynamic SGA component and allocate it to another component.
Because shared memory segments are not implicitly locked in memory, when using DISM, Oracle Database explicitly locks shared memory that is currently in use at startup. When a dynamic SGA operation uses more shared memory, Oracle Database explicitly performs a lock operation on the memory that is put to use. When a dynamic SGA operation releases shared memory, Oracle Database explicitly performs an unlock operation on the memory that is freed, so that it becomes available to other applications.
Oracle Database uses the
oradism utility to lock and unlock shared memory. The
oradism utility is automatically set up during installation. It is not required to perform any configuration tasks to use dynamic SGA.
Do not set the
LOCK_SGA parameter to
TRUE in the server parameter file. If you do, then Oracle Database 10g cannot start.
The process name for the
oradism utility is
sid is the system identifier. When using DISM, this process is started during instance startup, and automatically quits when the instance is shut down.
If a message is displayed in the alert log saying that the
oradism utility is not set up correctly, then verify that the
oradism utility is located in the
$ORACLE_HOME/bin directory and that it has superuser privileges.