Oracle Parameters on Solaris 10
With the availability of the Solaris 10 operating system, the way IPC facilities (e.g., shared memory, message queues, etc.) are managed changed. In previous releases of the Solaris operating system, editing /etc/system
was the recommended way to increase the values of a given IPC tunable. With the release of Solaris 10, IPC tunable are now managed through the Solaris resource manager. The resource manager makes each tunable available through one or more resource controls, which provide an upper bound on the size of a given resource.
The table below shows the System V IPC parameter and the corresponding Soalris resource controls for Oracle on Sun Solaris 10 OS.
Parameter | Oracle Recomendation | req'd | Resource Control | Default Value |
---|---|---|---|---|
SEMNI semsys:seminfo-semmni | 100 | Y | project.max=sem-ids | 128 |
SEMMNS | 1024 | N | N/A | N/A |
SEMMSL semsys:seminfo_semmsl | 256 | Y | project.max-sem-nsems | 512 |
SHMMAX shmsys:shminfo_shmmax | Y | project.max-shm-memory | 1/4 physical RAM | |
SHMMIN shmsys:shminfo-shmmin | 1 | N | ||
SHMMNI shmsys:shminfo_shmmni | 100 | Y | project.max-shm-ids | 128 |
SHMSEG shmsys:shminfo_shmseg | 10 | N | N/A | N/A |
Since the Solaris resource management facilities are used to set resource limits for Oracle under Solaris 10 the /etc/system
should not be edited with resource limits, so only a single parameter should be added to /etc/system
:
set noexec_user_stack=1
For Solaris10, add a project for the oracle user and set the recommended resource limits:
projadd -U oracle user.oracle projmod -s -K "project.max-sem-ids=(priv,100,deny)" user.oracle projmod -s -K "project.max-sem-nsems=(priv,256,deny)" user.oracle projmod -s -K "project.max-shm-memory=(priv,4294967295,deny)" user.oracle projmod -s -K "project.max-shm-ids=(priv,100,deny)" user.oracle
To check the project settings:
# prctl -i project user.oracle