参考:
http://yusy1116.blog.163.com/blog/static/6467259220106821116449/
http://blog.csdn.net/leshami/article/details/8766256
sem其实是semaphores的缩写,查看当前设置
[oracle@test oracle]$ cat /proc/sys/kernel/sem
250 32000 100 128
4个数据分别对应
SEMMSL SEMMNS SEMOPM SEMMNI
当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整SEMAPHORES设置SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,例如,当最大的PROCESSES参数为5000时,SEMMSL应设置为5010。
SEMMNS参数应设置为SEMMSL*SEMMNI,接上例SEMMSL为5010,SEMMNS参数应为(5010*128)=641280。
SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为5010
更改当前SEMAPHORES参数设置:
vim /etc/sysctl.conf --开机启动加载内核参数
kernel.sem =5010 641280 5010 128
#sysctl -p --加载生效
btw : 查看oracle 的最大连接数
select * from v$license;
自从实例启动以来,连接数据库的用户session的最大值(SESSIONS_HIGHWATER)和当前值(SESSIONS_CURRENT )