在安裝Oracle Grid Infrastructure檢查約束時遇到一個錯誤,大體是說當前可打開的文件描述符的最大數(shù)為1024,而要求是65536。
于是在gird用戶下執(zhí)行ulimit -a,顯示可打開的最大文件數(shù)為1024,這是默認值;執(zhí)行ulimit -n 65536不允許修改,轉(zhuǎn)到root下面執(zhí)行ulimit -n 65536,執(zhí)行ulimit -a 顯示為65536,在grid用戶下執(zhí)行依然為1024。當時想到用sudo的方式執(zhí)行,對gird用戶賦予所有權(quán)限,執(zhí)行ulimit -n 65536依然報錯。
后來想起在配置/etc/profile文件里,對oracle有ulimit -n 65536的命令,如下:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
添加grid用戶后,source /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
umask 022
fi
在grid執(zhí)行ulimit -a依然為1024,后來檢查安裝步驟發(fā)現(xiàn)忘了在/etc/security/limits中添加grid用戶了,添加下面即可:
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
看來是作用域的問題,增大文件描述符。