HPUX上出現ORA-27300、ORA-27301、ORA-27302的STATUS 11錯誤

yangtingkun發表於2012-08-22

資料庫出現ORA-27300ORA-27301ORA-27302錯誤並最終出現ORA-29702錯誤,導致資料庫例項的崩潰。

 

 

資料庫版本為10.2.0.4 RAC for HP-UX,詳細錯誤資訊為:

Wed Jun 27 04:31:07 2012
Process startup failed, error stack:
Wed Jun 27 04:31:07 2012
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl2_psp0_1943.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: skgpspawn3
Wed Jun 27 04:31:08 2012
Process J001 died, see its trace file
Wed Jun 27 04:31:08 2012
kkjcre1p: unable to spawn jobq slave process
Wed Jun 27 04:31:08 2012
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl2_cjq0_1965.trc:

Wed Jun 27 04:41:55 2012
Process startup failed, error stack:
Wed Jun 27 04:41:55 2012
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl2_psp0_1943.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: skgpspawn3
Wed Jun 27 04:41:56 2012
Process q001 died, see its trace file
Wed Jun 27 04:41:56 2012
ksvcreate: Process(q001) creation failed
Wed Jun 27 04:53:16 2012
Process startup failed, error stack:
.
.
.
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl2_psp0_1943.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: skgpspawn3
Wed Jun 27 05:05:06 2012
Process q001 died, see its trace file
Wed Jun 27 05:05:06 2012
ksvcreate: Process(q001) creation failed
Wed Jun 27 05:13:04 2012
Error: KGXGN aborts the instance (6)
Wed Jun 27 05:13:04 2012
Errors in file /u01/app/oracle/admin/orcl/bdump/orcl2_lmon_1945.trc:
ORA-29702: error occurred in Cluster Group Service operation
LMON: terminating instance due to error 29702

status11以及fork程式報錯判斷,導致問題的原因是作業系統無法分配程式。

系統dmesg日誌出現大量資訊:

proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full
proc: table is full

這也證明了導致問題的原因是當前程式數超過了核心引數的設定。

重新設定作業系統上的nprocmaxuprc的值,根據Oracle的安裝文件nproc的值至少為4096,而maxuprc的值為nproc*9/10,如果當前程式數量超過設定的值,則根據實際需求重新調整兩個值。

 

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

相關文章