1. 程式人生 > >Liunx資源暫時不可用(Resource temporarily unavailable)

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那一行就可以了。