您好,登錄后才能下訂單哦!
問題現象:
Sun Sep 30 21:12:28 2018 Errors in file /DBSoft2/oracle/diag/rdbms/fzdbcgbk/fzdbcgbk1/trace/fzdbcgbk1_psp0_221463.trc: ORA-27300: ????: fork ? ???: 11 ORA-27301: ??: Resource temporarily unavailable ORA-27302: skgpspawn3 Process J000 died, see its trace file Sun Sep 30 21:12:28 2018 kkjcre1p: unable to spawn jobq slave process Sun Sep 30 21:12:28 2018 Errors in file /DBSoft2/oracle/diag/rdbms/fzdbcgbk/fzdbcgbk1/trace/fzdbcgbk1_cjq0_222890.trc: Sun Sep 30 21:12:29 2018 Process startup failed, error stack: Sun Sep 30 21:12:29 2018 Errors in file /DBSoft2/oracle/diag/rdbms/fzdbcgbk/fzdbcgbk1/trace/fzdbcgbk1_psp0_221463.trc: ORA-27300: ????: fork ? ???: 11 ORA-27301: ??: Resource temporarily unavailable ORA-27302: skgpspawn3
參考資料:
Mos ID:392006.1
SYMPTOMS:
The following message reported in alert log:
Mon Sep 18 18:10:34 2006
Errors in file /u01/oracle/admin/orcl/bdump/orcl1_psp0_954436.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
Mon Sep 18 18:10:35 2006
Process P073 died, see its trace file
CAUSE:
The error messages indicating that oracle has problem in forking more process, the maximum number of PROCESSES allowed per user could be too low.
This is configured by the following kernel settings:
AIX: maxuproc
HP and Solaris: maxuprc
Solaris 10/11: project.max-lwps
Linux: nproc (/etc/security/limits.conf)
檢查配置:
[root@fzdb1 trace]# su - oracle2 [oracle2@fzdb1 ~]$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 1031748 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 3047 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited [oracle2@fzdb1 ~]$ ulimit -u 3047 [root@fzdb1 ~]# grep proc /etc/security/limits.conf # - nproc - max number of processes # - priority - the priority to run user process with #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 oracle soft nproc 3047 oracle hard nproc 16384 grid soft nproc 3047 grid hard nproc 16384
問題分析:
從上面檢查我們可以發現oracle2的用戶進程數量已經達到了1491,幾乎接近oracle2用戶的user processes數量,所以數據庫日志里面頻繁出現大量的ORA-27300,ORA-27301,ORA-27302,根據MOS:392006.1建議修改/etc/security/limits.conf文件里的oracle2 nproc值為更大的值,但是實際上我們并沒有發現有關于oracle2用戶的配置,所以我們手工添加如下配置后重啟數據庫服務器就可以了:
oracle2 soft nproc 16384
oracle2 hard nproc 16384
oracle2 soft nofile 65536
oracle2 hard nofile 65536
oracle2 soft memlock 3145728
oracle2 hard memlock 3145728
開始修改:
[root@fzdb1 ~]# cat >> /etc/security/limits.conf << EOF > oracle2 soft nproc 16384 > oracle2 hard nproc 16384 > oracle2 soft nofile 65536 > oracle2 hard nofile 65536 > oracle2 soft memlock 3145728 > oracle2 hard memlock 3145728 > EOF
重啟服務器:
[oracle2@fzdb1 ~]$ su - root [root@fzdb1 ~]$ reboot
檢查剛才的參數修改:
[oracle2@fzdb1 ~]$ ulimit -u 16384
檢查數據庫日志:
修改參數之后通過一天的觀察未見ORA-27300,ORA-27301,ORA-27302等報錯信息,此故障處理完畢。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。