程序员人生 网站导航

RAC环境产生大量ons进程,导致用户进程资源耗尽,用户切换提示Resource temporarily unavailable

栏目:数据库应用时间:2015-02-27 08:29:27

基本要素(时间、用户、问题)

用户才实行了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:检测操作系统资源限制配置

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

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐