综上所述,从listener.log的输出看,nofiles的soft limit过小,只有256,这会导致Solaris Error: 24: Too many open files 错误。从/etc/system和/etc/project,我们没有看到设置了soft limit。
故障处理小结及后续建议
将oracle用户的soft limit提升为至少1024,然后重新oracle用户登录,检验ulimit合格后,重新启动数据库和监听。
具体解决办法如下:
1、在/etc/system增加以下行
set rlim_fd_max=65536
set rlim_fd_cur=4096
2、重新登录ORACLE并检验oracle用户的限制
su – oracle
ulimit -Ha
ulimit –Sa
3、重新启动数据库和监听