echo "kernel.sem = 250 32000 100 256" >> /etc/sysctl.conf sysctl -p in /etc/system :
SEMMSL = 250 (or max processes per instance) SEMMNS = 32000 (or higher) SEMOPM = 100 SEMMNI = 256 (or 1024 for large systems) Set persistently:
SELECT value/1024/1024 MB FROM v$parameter WHERE name='sga_max_size'; Check free memory : echo "kernel
echo 65536 > /proc/sys/kernel/pid_max # temporary echo "kernel.pid_max=65536" >> /etc/sysctl.conf Check for zombie processes:
ipcs -s | grep oracle | awk 'print $2' | xargs -n1 ipcrm -s Linux : echo "kernel
set semsys:seminfo_semmns=4096 set semsys:seminfo_semmni=1024 set semsys:seminfo_semmsl=512 (if instance is down):
# Current limits cat /proc/sys/kernel/shmmax cat /proc/sys/kernel/shmall Set for large SGA: echo "kernel
set maxuprc=16384 , then verify:
# Current semaphore limits (SEMMSL, SEMMNS, SEMOPM, SEMMNI) ipcs -ls | grep "max number of arrays" cat /proc/sys/kernel/sem Recommended for Oracle:
ulimit -u Linux (check & set) :
vi /etc/security/limits.conf Add: