Solaris Kernel and Ulimit Parameters for Oracle

Below are the list of Solaris kernel parameters which you must set before oracle installation on Solaris. In the previous post we discussed about Linux kernel parameter for Oracle.

https://orahow.com/configure-oracle-linux-kernel-parameters/

Solaris Kernel and ulimit Parameter for Oracle
1. Using /etc/system
 Take backup of file /etc/system.
> Login as OS user root, copy and paste the following parameters at the end of file /etc/system.
> Make sure that these lines are always at the end of /etc/system

set max_nprocs=65546
set pidmax=100000
set maxusers = 4096
set noexec_user_stack=1



2. Using Resource Control

> Create OS user oracle and assign group dba.
> Login as OS user root; issue the following command to create the project named group.dba and assign OS-group dba as its member.

projadd -G dba  -c "Oracle Default" group.dba

> Login as OS user “oracle” and run the following command to verify the default project.

id –p

The above command will show the result similar to below.
uid=100(oracle) gid=100(dba) projid=100(group.dba)

> Login as OS user root; and issue the following commands.
   
projmod -sK "project.max-shm-memory=(privileged,,deny)" group.dba     	
projmod -sK "project.max-sem-ids=(privileged,100,deny)" group.dba   --Example
projmod -sK "project.max-shm-ids=(privileged,100,deny)" group.dba
projmod -sK "process.max-sem-nsems=(privileged,256,deny)" group.dba

> Reboot the server and check if all the above settings have taken effect. 
> Login as OS user “oracle” and run the following commands to verify the above settings.  

prctl -n project.max-shm-memory -i project group.dba
prctl -n project.max-sem-ids -i project group.dba
prctl -n project.max-shm-ids -i project group.dba
prctl -n process.max-sem-nsems -i process $$

Run command “cat /etc/project” to check the entries in /etc/project


> These are the ulimit parameters to be set for Solaris machine for oracle.

time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 131072
coredump(blocks) unlimited
nofiles(descriptors) 65536
memory(kbytes) unlimited

During installation you may face the error “no space left on device or
out of memory”. In this case you need to check the below projects and it should be little more than the allocated sga.

projmod -sK “project.max-shm-memory=(privileged,,deny)” group.dba

Useful Solaris Commands:

To determine the physical RAM size, enter the following command:

/usr/sbin/prtconf | grep "Memory size"

To determine the size of the configured swap space, enter the following command:

/usr/sbin/swap -l

To determine the available RAM and swap space, enter the following command:

sar -r -i n