在安装OracleGridInfrastructure检查约束时遇到一个错误,大体是说当前可打开的文件描述符的最大数为1024,而要求是65536。
于是在gird用户下执行ulimit-a,显示可打开的最大文件数为1024,这是默认值;执行ulimit-n65536不允许修改,转到root下面执行ulimit-n65536,执行ulimit-a显示为65536,在grid用户下执行依然为1024。当时想到用sudo的方式执行,对gird用户赋予所有权限,执行ulimit-n65536依然报错。
后来想起在配置/etc/profile文件里,对oracle有ulimit-n65536的命令,如下:
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
umask022
fi
添加grid用户后,source/etc/profile
if[$USER="oracle"]||[$USER="grid"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
umask022
fi
在grid执行ulimit-a依然为1024,后来检查安装步骤发现忘了在/etc/security/limits中添加grid用户了,添加下面即可:
gridsoftnproc2047
gridhardnproc16384
gridsoftnofile1024
gridhardnofile65536
看来是作用域的问题,增大文件描述符。