用户才实行了LINUX5.8+11.2.0.4的RAC环境,使用1段时间后,当切换的grid用户的时候,提示Resource temporarily unavailable,以下:
[root@rac01 bin]# su- grid
su: cannot set userid: Resource temporarily unavailable
但是我们在切换其他用户如oracle用户的时候,却能够正常切换,并且CRS集群使用正常,客户真个连接和用户的使用暂时也没有影响,用户在第1次出现这类情况的时候,采取重启服务器的方式,暂时解决了问题,但是没过量久,又再次出现,因此用户需要完全解决这个问题,避免出现其他安全隐患,影响正常的业务利用。
1般出现这类情况,首先就应当斟酌我们在实行进程中操作系统中关于grid用户资源限制的参数设置得可能存在问题,在实行RAC的进程中,对用户的资源限制有2个地方/etc/security/limits.conf和/etc/profile,首先就应当检测下这2个配置文件的内容,以下:
[root@rac01 ~]# cat/etc/security/limits.conf
grid soft nproc 16384
grid hard nproc 65536
grid soft nofile 2047
grid hard nofile 65536
oracle soft nproc 16384
oracle hard nproc65536
oracle soft nofile 2047
oracle hard nofile65536
[root@rac01 ~]# cat/etc/profile
if [ $USER ="oracle" ] || [ $USER = "grid" ]; then
if[ $SHELL = "/bin/ksh" ]; then
ulimit-p 16384
ulimit-n 65536
else
ulimit-u 16384 -n 65536
fi
umask022
fi
这里的nproc就是对用户能够使用的最大进程数的控制,其中soft是软限制 ,用户可以超过这个设置的值,但1定不能超过hard的值 。1般soft比hard小,hard是硬限制,/etc/security/limits.conf中的格式以下,这里以fszize这个参数为例:
我们这里的grid soft nproc 16384和grid hard nproc 65536就表示grid用户最多能启用65536个进程,其中到达16384就发出正告,接下来我们就应当查看下用户的进程数,以下
[root@rac01 ~]# ps