ORA-27300: OS system dependent operation:fork failed with status: 11

liglewang發表於2011-05-18

今天早上,應用的人說新裝的那臺資料庫連線報錯,用PL/SQL Developer連線報:

ORA-12537:TNS:連線關閉。

開始處理:

oracle身份登陸系統,報:

/etc/profile[50]: 0403-030 The fork function failed. Too many processes already exist.

執行sqlplus登陸資料庫又報:

ORA-12549: TNS:operating system resource quota exceeded.

這個類錯誤還是第一次遇見,不過看起來不算是有難度的問題,然後開始查詢資料庫告警日誌alert.log,有很多類似的錯誤:

Tue May 10 21:00:37 2011
Process startup failed, error stack:
Tue May 10 21:00:37 2011
Errors in file /hiuset_bas/oracle/app/admin/bcs/bdump/bcs_psp0_290828.trc:
ORA-27300: OS system dependent operation:fork failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgpspawn5
ORA-27303: additional information: skgpspawn5
Tue May 10 21:00:38 2011
Process m001 died, see its trace file
Tue May 10 21:00:38 2011
ksvcreate: Process(m001) creation failed

由以上資訊大致可以瞭解到連線資料庫失敗的原因為系統資源匱乏或達到了某些限制條件閥值。

根據metalink ID 392006.1ID 948152.1的描述,可以確定是OS引數maxuproc的問題。

root身份執行smitty,依次選擇:
System Environments
Change / Show Characteristics of Operating System
Maximum number of PROCESSES allowed per user[128]

128OS引數maxuproc的值,意思是在OS中,每個OS使用者所允許的最大程式數。128應該是OS的預設值,顯然不能滿足需求的,根據AIX的安裝手冊中的建議值,將其調整為了16384

root@:/>lsattr -Elsys0 | grep maxuproc

maxuproc16384Maximum number of PROCESSES allowed per userTrue

調整之後,到目前為止快一天的時間,沒有再出現過該錯誤。

--- END ---

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25834554/viewspace-1050013/,如需轉載,請註明出處,否則將追究法律責任。

相關文章