最近在性能测试过程中发现,发现虚拟用户数上不去,加载到一定的数量应用端就报错,提示连接数据库出错。在测试的过程中查看web容器的线程池 数据源的连接池 都还有空闲,同时查看oracle的v$session视图 发现session数到了一定数量就上不去了。查看数据库参数 process 设置的是1000 ,再查看oracle 的警告日志发现报下面的错误:

ORA-27301: OS failure message: Resource temporarily unavailable
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

性能测试过程中oracle数据库报ORA-27301 ORA-27302错的更多相关文章

  1. windows下oracle数据库报错ORA-12705解决方法

    转自:http://blog.sina.com.cn/s/blog_16eaf6b940102x66q.html 有个朋友,他们那边windows虚拟机重启后,数据库不能起来报错ORA-12705无法 ...

  2. navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法

    原文:navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法 ...

  3. Oracle数据库报错: ORA-29275:部分多字节字符

    Oracle数据库报错: ORA-29275:部分多字节字符 就是你查出来的字符串(有汉字的)有可能会出问题, 在认为有问题的字段 用 to_nchar("字段")包起来 比如 你 ...

  4. C#中oracle数据库的连接方法

    C#中oracle数据库的连接方法 一.关于数据库的操作 1.数据库连接      有2种:      第一种:古老的方法(较为死板,不利于灵活操作),即用OracleConnection的类来连接 ...

  5. Toad客户端连接Oracle数据库报错 ORA-12170:TNS:连接超时

    Oracle 客户端连接Oracle数据库报错   ORA-12170:TNS:连接超时  排错步骤: 1. 查看网络是否畅通:  打开cmd,ping数据库IP 2. 查看端口是否畅通: 打开cmd ...

  6. Qt 中 Oracle 数据库 QOCI 驱动问题及解决

    Qt 中 Oracle 数据库 QOCI 驱动问题及解决是本文要讲述的问题,用Qt开发Oracle程序时,常会遇到QOCI驱动问题,主要表现为程序运行时出现下面的错误. QOCI driver not ...

  7. 在虚拟机中连接oracle数据库报错ORA-12154,其他服务器连接无问题

    在一台服务器上使用sqlplus登录oracle数据库,cmd->sqlplus->name/passwd@orcl2登录某个数据库用户,提示ORA-12154.使用当前服务器的PLSQL ...

  8. C#连接oracle数据库报错:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用

    原因大概是OracleOraDb11g_home1TNSListener服务没启动的原因 步骤一.停止并重新启动OracleOraDb11g_home1TNSListener服务,试一下是否可行. 如 ...

  9. 混合框架中Oracle数据库的还原处理操作

    在较早期的随笔<Oracle如何实现创建数据库.备份数据库及数据导出导入的一条龙操作>粗略介绍了Oracle数据库的备份还原操作,本文想从开发框架的基础上介绍Oracle数据库的脚本或者还 ...

随机推荐

  1. Linux学习第一天————了解root用户和基本的shell命令

    一.了解Linux中的root用户  1.1root用户 使用过MySQL的同学都知道MySQL中有一个变态的存在叫做超级管理员,他可以从操作任何一个数据库,那么在Linux中也有这么一个变态的存在他 ...

  2. 复习string和数组

    两种实例化方式的区别 1)直接赋值(String str = "hello"):只开辟一块堆内存空间,并且会自动入池,不会产生垃圾. 2)构造方法(String str=  new ...

  3. 使用 requests

    基本实例 #利用requests库发送get请求 import requests r = requests.get('http://httpbin.org/get') print(r.text) 利用 ...

  4. Python:从入门到实践--第四章--列表操作--练习

    #1.想出至少三种你喜欢的水果,将其名称存储在一个列表中,再使用for循环将每种水果的名称都打印出来. #要求:(1)修改这个for循环,使其打印包含名称的句子,而不是仅仅是水果的名称.对于每种水果, ...

  5. 4th week——grid-layout

  6. 渗透测试学习 九、 MSsql注入上

    MSsql注入漏洞详解 (Asp.Aspx站,常见于棋牌网站.考试网站.大学网站.政府网站.游戏网站.OA办公系统) 大纲:msSQL数据库调用分析 msSQL注入原理 msSQL注入另类玩法 msS ...

  7. 查看celery 队列长度

    BROKER_URL = 'redis://127.0.0.1:6379/2' quque 名称:celery 查询队列长度命令: redis-cli -n 2 llen celery 注释: -n: ...

  8. js实现复制内容到粘贴板

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. Go 包管理工具--glide

    网上有一篇解释glide比较好的文章:https://my.oschina.net/u/553243/blog/1475626 在命令行中输入glide $glide NAME: glide - Ve ...

  10. MySQL高可用工具--orchestrator

    orchestrator是一款MySQL高可用工具,其支持: 集群拓扑探测 集群拓扑重塑 故障恢复 提供3种使用方式: 命令行 HTTP API web页面 orchestator github地址