问题现象
使用ssh连接oracle用户时提示错误
-bash: ulimit: open files: cannot modify limit: Operation not permitted
操作系统版本:
cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 1
问题原因
因为pam已经从limits.conf中设置了上限,而oracle用户登陆的时候尝试修改文件句柄的值,这个值大于了上限
那oracle用户在什么地方尝试修改的呢?
打开/etc/profile.local,可以看到
if [ $USER = oracle ]; then
if [ $SHELL = /bin/ksh ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
解决方法
修改/etc/security/limits.conf,将里面修改到大于oracle尝试修改的值即可