最近在性能测试过程中发现,发现虚拟用户数上不去,加载到一定的数量应用端就报错,提示连接数据库出错。在测试的过程中查看web容器的线程池 数据源的连接池 都还有空闲,同时查看oracle的v$session视图 发现session数到了一定数量就上不去了。查看数据库参数 process 设置的是1000 ,再查看oracle 的警告日志发现报下面的错误:
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgpspawn3
ORA-27302: failure occurred at: skgpspawn3
感觉这错误跟操作系统内核的一些配置有关系,查看Trouble shooting ORA-27300 ORA-27301 ORA-27302 errors [ID 579365.1]
Applies to:
Oracle Server - Enterprise Edition - Version 9.2.0.1 to 11.2.0.3 [Release 9.2 to 11.2]
Information in this document applies to any platform.
Purpose
This note helps identify the possible causes of the ORA-2730x errors that have already been reported and provides solution where available. The errors are usually caused by OS system call error or OS configuration issue and are in the form. of:
ORA-27300: OS system dependent operation:%s failed with status: %s
ORA-27301: OS failure message: %s
ORA-27302: failure occurred at: %s
Documentation is available at the OS level for some of the dependent operation or OS calls such as fork() or semget(). The 'status' reported in the ORA-27300 error usually corresponds to a Unix error code defined in the "errno.h" header file on the OS, returned by the OS call.
For example,
ORA-27300: OS system dependent operation:fork failed with status: 11
A "man fork" shows:
The fork() function shall fail if:
EAGAIN (status 11) : The system lacked the necessary resources to create another process, or the system-imposed limit on the total number of processes under execution system-wide or by a single user {CHILD_MAX} would be exceeded. EAGAIN corresponds to status 11.
The fork() function may fail if:
ENOMEM (status 12) : Insufficient storage space is available.
Troubleshooting Steps
The note is broken down by the status code.
STATUS 0
ORA-27300: OS system dependent operation:invalid_process_id failed with status: 0
ORA-27301: OS failure message: Error 0
ORA-27302: failure occurred at: skgpalive1
SeeNote 356640.1ORA-27300, ORA-27301, ORA-27302 Failure Occurred At Skgpalive1 During 'Shutdown' - UnPublishedBug 4923667.
In 10.2.0.5 and up, seeNote 1252265.1- ORA-27300 ORA-27301 ORA-27302: failure occurred at: skgpalive1 -bug 10010310.
ORA-27300: OS system dependent operation:invalid_process failed with status: 0
ORA-27301: OS failure message: Error 0
ORA-27302: failure occurred at: skgpstime3
ORA-27144: attempt to kill process failed
SeeNote 458442.1> />10.2.0.3 PMON CRASHES ON STARTUP ON AIX 5L 5.3 ML05 -- WORKS on ML06> />
STATUS 1 - EPERM Not owner
An attempt was made to modify a file that doesn't belong to the user, or the user was forbidden to modify that file by its owner or super-user.
ORA-27300: OS system dependent operation:invalid_egid failed with status: 1
ORA-27301: OS failure message: Not owner
ORA-27302: failure occurred at: skgpwinit6
ORA-27303: additional information: startup egid = 202 (?), current egid = 101 (dba)
SeeNote 453959.1Cannot Connect As "/ as sysdba" ORA-27140 ORA-27300 ORA-27301
ORA-27512: IPC error posting a process
ORA-27300: OS system dependent operation:kill failed failed with status: 1
ORA-27301: OS failure message: Not owner
ORA-27302: failure occurred at: skgxppost1
SeeNote 3411021.8-Bug 3411021- Oracle process may die due to ORA-27300/ORA-27301/ORA-27302 at skgxppost1
STATUS 2 - ENOENT No such file or directory
This error occurs when trying to access a file or subdirectory that does not exist.
ORA-12012: error on auto execute of job 71010
ORA-27370: job slave failed to launch a job of type EXECUTABLE
ORA-27300: OS system dependent operation:accessing execution agent failed with status: 2
ORA-27301: OS failure message: No such file or directory
ORA-27302: failure occurred at: sjsec 3
SeeNote 277399.1DBMS_SCHEDULER Fails To Execute Jobs With Program_type
EXECUTABLE On HP-UX
STATUS 3 - ESRCH No such process
The process number passed to the signal handling procedure belongs to
a process that doesn't exist, or it is already dead.
In a RAC environment, errors of the form. below may be seen causing process failures:
ORA-00603: ORACLE server session terminated by fatal error
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:sskgxp_select failed with status: 3
ORA-27301: OS failure message: No such process
ORA-27302: failure occurred at: skgxpvfymmtu
ORA-27303: additional information: MTU could not be verified. Did not receive valid message.
SeeNote 746888.1ORA-27302: Failure Occurred at: skgxpvfymmtu Signalled in the Alert.log
STATUS 6 - ENXIO No such device or address
I/O error on a component of a device that is missing.
Windows specific:
ORA-27300: OS system dependent operation:SuspendThread failed with status: 6
ORA-27301: OS failure message: The handle is invalid.
ORA-27302: failure occurred at: sssxcpttcs6
SeeBUG: 6991131- Status: 32,Not a Bug
This is an issue during shutdown. We send a shutdown message to MMON and we wait for 30 sec to check if it has gone away. If it still exists then we collect the diagnostic information and try to suspend the target thread ("MMON" in this case). However we find that target thread handle is no longer valid since the thread has exited or about to exit. This causes the error to be reported in the alert.log. This error may be ignored during the shutdown process as long as it doesn't hang since the target thread was going away at the time we tried to collect the diag information.
======
ORA-27300: OS system dependent operation:GetThreadTimes failed with status: 6
ORA-27301: OS failure message: The handle is invalid.
ORA-27302: failure occurred at: skgpalive
See unpublishedBUG: 6455284- Status 80 : DNFS NT: ORA-27300,ORA-27301,ORA-27302: FAILURE OCCURRED AT: SKGPALIVE
Fixed in 11.1.0.7 and 11.2.
STATUS 8 - ENOEXEC Exec format error
Attempt was made to execute a file that does not have an executable format.
ORA-27300: OS system dependent operation:CreateThread failed with status: 8
ORA-27301: OS failure message: Not enough storage is available to process this command.
ORA-27302: failure occurred at: ssthrddcr.
SeeNote 466370.1ORA-7445 [ACCESS_VIOLATION] [unable_to_trans_pc] [UNABLE_TO_WRITE] ORA-27301 OS failure message Not enough storage ORA-27300 ORA-27302> />
For Windows, seeNote 225349.1Implementing Address Windowing Extensions (AWE) or VLM on Windows Platforms
STATUS 11 - EAGAIN No more processes
Executing a fork and the system's process table is full, or the user is not allowed to create more process.
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
SeeNote 392006.1Ora-27300 OS system dependent operation fork failed with status 11
Maximum number of PROCESSES allowed per user may be too low (for example: maxuproc on AIX, maxuprc on HP and Solaris. On Solaris 10, check project.max-lwps)
@See Bug 7620133 - project.max-lwps was changed from the default which is 2 billion.
ORA-27300: OS system dependent operation:socket failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: sskgxpcre1
SeeNote 364353.1ORA-00603 ORA-27504 ORA-27300 ORA-27504 in the Alert Log
(HP port specific)
1. Set MAX_ASYNC_PORTS to a value high enough
2. Deactivate async io at os level.
ORA-27300: OS system dependent operation:ioctl failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgxpvaddr1
SeeNote.6629265.8Bug 6629265 - Intermittent ORA-27504 / ORA-27300 ioctl error 11
When system resources are overloaded, an intermittent failure to create a socket can cause new processes to fail to start with above errors.
STATUS 12 - ENOMEM Not enough core / memory
During an exec or a break, the program asked for more memory than the one available by the system. This error also occurs when there are too many segmentation registers which are required for the arrangement of text data or stack segments.
ORA-27300: OS system dependent operation:fork failed with status: 12
ORA-27301: OS failure message: Not enough space
ORA-27302: failure occurred at: skgpspawn3
SeeNote 465002.1Database Crash With Error ORA-00490
Note 580552.1Ora-04030 Ora-07445 Ora-27300 Ora-27301 Ora-27302 Crashed Database
Note 560309.1> /> Database Cannot Start Due to Lack of Memory
** All related to swap space being depleted. Check the OS system logs for more information. On some Operating Systems increasing nproc or maxuprc is required **> />
STATUS 13 - EACCES Permission denied
An attempt was made to access a forbidden file by the protection system.
ORA-27300: OS system dependent operation:accessing execution agent failed with status: 13
ORA-27301: OS failure message: Permission denied
ORA-27302: failure occurred at: sjsec 3
SeeNote 557153.1ORA-27370, ORA-27301(Permission denied) when running job of type EXECUTABLE .
Restart the Oracle database using an appropriate user account (often the "oracle" user).
STATUS 17 - EEXIST File exists
An existing file was entered as a parameter of a command that will modify it.
ORA-27300: OS system dependent operation:semget failed with status: 17
ORA-27301: OS failure message: File exists
ORA-27302: failure occurred at: sskgpcreate
SeeNote 123905.1ORA-27154 on Database Startup After System Crash
Remove stray shared memory segments and semaphores.
STATUS 22 - EINVAL Invalid argument
Invalid argument passed.
For example: Passing an unknown signal in the signal function.
ORA-27300: OS system dependent operation:semctl failed with status: 22
ORA-27301: OS failure message: Invalid argument
ORA-27302: failure occurred at: sskgpwrm1
ORA-27157: OS post/wait facility removed
ORA-27300: OS system dependent operation:semop failed with status: 36
ORA-27301: OS failure message: Identifier removed
ORA-27302: failure occurred at: sskgpwwait1
SeeNote 438205.1> />ORA-27300 ORA-27301 ORA-27302 ORA-27157 Database Crash Semaphores/shared memory might have been removed> />
ORA-27300: OS system dependent operation:mpctl_ldomspus failed with status: 22
ORA-27301: OS failure message: Invalid argument
ORA-27302: failure occurred at: skgsnnprocs
SeeBUG: 7232946- ORA-600[KSKRECONFIGNUMA2] CAUSES INSTANCE CRASH
10.2.0.4.0
It looks like this is all resulting of NUMA issues because of NUMA feature is enabled by default starting with 10.2.0.4. To disable NUMA you need to see the following db parameters:
_db_block_numa=1
_enable_NUMA_optimization=FALSE
ORA-27300: OS system dependent operation:pw_postv failed with status: 22
ORA-27301: OS failure message: Invalid argument
ORA-27302: failure occurred at: sskgpwvp3
ORA-27303: additional information: ukid, errno, post_count = 0x7a9d93eb191f0b4e, 22, 3
SeeNote 6441119.8- unpublished Bug 6441119 - Instance crash due to ORA-27300 / ORA-27152
An ORA-27300 error from sskgpwpost or sskgpwvectorpost can lead to an instance crash.
ORA-00600: internal error code, arguments: [ksbmoveme4], [], [], [], [], [], [], []
ORA-27300: OS system dependent operation:run on node failed with status: 22
ORA-27301: OS failure message: Invalid argument
ORA-27302: failure occurred at: skgpmoveme:1
SeeNote 848387.1- With NUMA Enabled, Database Fails To Open With ORA-600 [ksbmoveme4], ORA-27300, ORA-27301, ORA-27302 Errors Reported
STATUS 28 - ENOSPC No space left on device
When writing to a file, the device runs out of space.
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occured at: sskgpcreates
SeeNote 314179.1Instance Startup Fails With Error ORA-27154,ORA-27300,ORA-27301,ORA-27302
Oracle 10.2 Installation Guide (for Solaris 8 and 9):
semsys:seminfo_semmns 1024
semsys:seminfo_semmsl 256
STATUS 59
ORA-00603: ORACLE server session terminated by fatal error
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:sendmsg failed with status: 59
ORA-27301: OS failure message: Message too long
ORA-27302: failure occurred at: sskgxpsnd1
See RAC:Note 300956.1Ora-27302: sskgxpsnd1 - Starting Instance
Note 295832.1-Unable To Create Database Ora-00603, ORA-27300
STATUS 63
ORA-00603: ORACLE server session terminated by fatal error
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:ioctl failed with status: 63
ORA-27301: OS failure message: Out of stream resources
ORA-27302: failure occurred at: skgxpvaddr1
Specifically error code 63 is ENOSR, "out of streams resources", as reported in the ora-27301 message.
从status为11以及fork进程报错判断,导致问题的原因是操作系统无法分配进程。HPUNIX 重新设置操作系统上的nproc和maxuprc的值,根据Oracle的安装文档nproc的值至少为4096,而maxuprc的值为nproc*9/10,如果当前进程数量超过设置的值,则根据实际需求重新调整两个值。
转载: http://www.51testing.com/html/37/622337-844472.html