Liunx资源暂时不可用(Resource temporarily unavailable)

今天在启动数据库时遇到下面的报错:

SQL> startup
ORA-10997: another startup/shutdown operation of this instance inprogress
ORA-09968: unable to lock file
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 5560

用root登录进去查看oracle用户的资源信息:

su -m -c 'ulimit -a' oracle
su: 无法设置用户ID: 资源暂时不可用

按经验看就是oracle用户开了太多线程,达到系统最大限制(默认1024)

ps -eL | wc -l  
1395

总线程数超过1024,可能是线程满的问题。

查看系统限制配置,/etc/security/limits.conf:
oracle soft nofile 1024   ---打开文件的最大数目
oracle hard nofile 65536
oracle soft nproc 2047  ----进程的最大数目
oracle hard nproc 16384

此处oracle的进程最大数是2047。
最后确定是由于CentOS 6.4版本新增了限制配置 /etc/security/limits.d/90-nproc.conf ,以保证root用户无限制。此配置会覆盖主配置文件的设定:

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     1024
root       soft    nproc     unlimited

问题就在这里,删除或注释 /etc/security/limits.d/90-nproc.conf 文件中1024那一行就可以了。

你可能感兴趣的:(Liunx)