诊断 ORA-27300 ORA-27301 ORA-27302 错误 (文档 ID 2179478.1)

适用于:

Oracle Database - Enterprise Edition - 版本 12.1.0.2 到 12.1.0.2 [发行版 12.1]
Oracle Database - Enterprise Edition - 版本 11.2.0.4 到 11.2.0.4 [发行版 11.2]
Oracle Database - Enterprise Edition - 版本 9.2.0.1 到 11.2.0.3 [发行版 9.2 到 11.2]
本文档所含信息适用于所有平台





用途

这篇文档帮助确定 ORA-2730x 错误可能发生的原因,并提供可用的解决办法。这类错误通常是由于操作系统调用错误或者操作系统配置问题引起的,形式如下:

ORA-27300: OS system dependent operation:%s failed with status: %s 
ORA-27301: OS failure message: %s 
ORA-27302: failure occurred at: %s

你可以参考各自的操作系统手册,来理解 Unix 系统错误的背景信息。例如:
http://www.ibm.com/developerworks/aix/library/au-errnovariable/

请注意只有少数的错误适用于所有基于 Unix 的平台。有可用的 OS 级别的文档来介绍一些独立的操作或者 OS 调用,例如fork()或 semget()。ORA-27300 错误中的‘status’通常对应一个 Unix 错误代码,这个错误代码定义在 OS 的头文件“errno.h”中 ,由 OS 调用返回。

例如:

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

“man fork”显示:

The fork() 函数会失败,如果:

EAGAIN (status 11):系统缺少创建一个进程的必要的资源,或者系统强制限制整个系统运行的进程的总数,或某个用户{CHILD_MAX}运行的进程的总数。EAGAIN 对应 status 11。

The fork() 函数会失败,如果:

ENOMEM (status 12):可用的存储空间不足。

排错步骤

这篇文档根据 status 的值被分解为几个部分。

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

      参考 Note 356640.1 ORA-27300, ORA-27301, ORA-27302 Failure Occurred At Skgpalive1 During 'Shutdown'  - 未公开的 Bug 4923667

     10.2.0.5 及以上版本,参考 Note 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 

     参考 Note 458442.1 > />10.2.0.3 PMON CRASHES ON STARTUP ON AIX 5L 5.3 ML05 -- WORKS on ML06> />

STATUS 1 - EPERM Not owner 
尝试修改不属于当前用户的文件,或者当前用户被文件的属主或超级用户禁止修改这个文件。

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)

      参考 Note 453959.1 Cannot 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      

        参考 Note 3411021.8 - Bug 3411021  - Oracle process may die due to ORA-27300/ORA-27301/ORA-27302 at skgxppost1 

ORA-27300: OS system dependent operation:invalid_euid failed with status: 1
ORA-27301: OS failure message: Not owner
ORA-27302: failure occurred at: skgpwinit5
ORA-27303: additional information: startup euid = 100 (grid), current euid = 101 (oracle)

STATUS 2 -  ENOENT No such file or directory 
这个错误发生在尝试访问一个不存在的文件或者子目录时。

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 

        参考 Note 277399.1 DBMS_SCHEDULER Fails To Execute Jobs With Program_type 
EXECUTABLE On HP-UX 

ORA-27300: OS system dependent operation:open failed with status: 2 (Doc ID 1664332.1)

ORA-27300: OS system dependent operation:open failed with status: 2
ORA-27301: OS failure message: No such file or directory
ORA-27302: failure occurred at: sskgmsmr_7

 

STATUS 3 - ESRCH No such process 
传递给信号处理程序的进程号属于一个不存在的进程,或者这个进程已经消失了。

在 RAC 环境中,以下形式的错误可能导致进程失败:
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. 

          参考 Note 746888.1 ORA-27302: Failure Occurred at: skgxpvfymmtu Signalled in the Alert.log

STATUS 6 - ENXIO No such device or address 
在一个丢失的设备组成部分上发生 I/O 错误。

Windows 特有的:

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

        参考 BUG: 6991131 -  Status: 32,Not a Bug 
这是 shutdown 过程中发生的问题。我们给 MMON 发送 shutdown 命令,然后等待30秒来检查它是否关闭。如果它仍然存在,那么我们收集诊断信息并试图挂起目标线程(在这个例子中是“MMON”)。然而我们发现目标线程句柄已经无效了,因为这个线程已经退出或即将退出。这样导致这个错误显示在报警日志中。这个错误在 shutdown 的过程中可以被忽略,只要它不会 hang 住,因为目标线程在我们尝试收集诊断信息的时候已经消失了。

======

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

参考未公开的  BUG: 6455284 - Status 80 : DNFS NT: ORA-27300,ORA-27301,ORA-27302: FAILURE OCCURRED AT: SKGPALIVE

在 11.1.0.7 和 11.2 中修复了。

 

STATUS 8 - ENOEXEC Exec format error 
尝试执行一个不具有可执行格式的文件。

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.

    参考 Note 466370.1 ORA-7445 [ACCESS_VIOLATION] [unable_to_trans_pc] [UNABLE_TO_WRITE] ORA-27301 OS failure message Not enough storage ORA-27300 ORA-27302> />

   对于 Windows,参考 Note 225349.1 Implementing Address Windowing Extensions (AWE) or VLM on Windows Platforms

STATUS 11 - EAGAIN No more processes 
执行 fork,但是系统的进程控制表已经满了,或者不允许用户创建更多的进程。 

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 

     参考 Note 392006.1 Ora-27300 OS system dependent operation fork failed with status 11

Note 1546393.1 ORA-27300: OS System Dependent Operation:fork Failed With Status: 11

允许每个用户创建的 PROCESSES 的最大值可能太小了(例如:AIX 中的 maxuproc,HP 和 Solaris 中的 maxuprc。在 Solaris 10 中,检查 project.max-lwps)

     @参考 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

    参考 Note 364353.1 ORA-00603 ORA-27504 ORA-27300 ORA-27504 in the Alert Log 
(HP特有的)

    1. 设置 MAX_ASYNC_PORTS 为足够高的值
    2. 在 OS 层面禁用异步 IO

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

    参考 Note.6629265.8 Bug 6629265 - Intermittent ORA-27504 / ORA-27300 ioctl error 11

当系统资源过载时,创建套接字时的间断错误会导致新的进程启动失败,报以上错误。

参考未公开的 Bug 17783533 : ORA-27300: OS SYSTEM DEPENDENT OPERATION:FORK FAILED WITH STATUS: 11

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

这个 bug 在 12.1.0.2及以上版本中修复了。

STATUS 12 - ENOMEM Not enough core / memory
在 exec 或者 break 过程中,程序需要的内存比系统可用的多。这个错误也发生在分配文本数据或堆栈段需要过多段寄存器的时候。

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 

     参考 Note 465002.1  Database Crash With Error ORA-00490     

    Note 580552.1 Ora-04030 Ora-07445 Ora-27300 Ora-27301 Ora-27302 Crashed Database

    Note 560309.1> /> Database Cannot Start Due to Lack of Memory

 

 ** swap 已用光。检查操作系统日志发现更多信息。在某些操作系统中增加 nproc 或 maxuprc 是必要的 **> />

STATUS 13 - EACCES Permission denied 
尝试去访问一个被系统保护而禁止访问的文件。

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

      参考 Note 557153.1  ORA-27370, ORA-27301(Permission denied) when running job of type EXECUTABLE .
使用恰当的用户重启 Oracle 数据库(通常是“oracle”用户)

STATUS 17 - EEXIST File exists 
一个已经存在的文件被作为一个命令的参数输入,这个命令将要修改它。


ORA-27300: OS system dependent operation:semget failed with status: 17 
ORA-27301: OS failure message: File exists 
ORA-27302: failure occurred at: sskgpcreate

STATUS 22 -  EINVAL Invalid argument 
传递无效参数。
例如:在信号函数中传递一个无效信号。


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

      参考 Note 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:semop failed with status: 43
ORA-27301: OS failure message: Identifier removed
ORA-27302: failure occurred at: sskgpwwait1

这个错误发生在当我们等待一个 latch 时,但是对应的标识符被移除了,这不是我们期望的情况,并会引起 ora-600 错误。

如果在实例启动时发生相同的错误,那么可能是遇到了以下 bug。

(未公开的)Bug 17638002 - ORA-600 [KSLGESS_3] [] [] [] [] [] [] [] [] [] [] [] 


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  

     参考 BUG: 7232946 - ORA-600[KSKRECONFIGNUMA2] CAUSES INSTANCE CRASH 
     10.2.0.4.0

    这可能是由 NUMA 问题造成的,因为在 10.2.0.4 上 NUMA 默认是开启的。想要关闭 NUMA,你需要查看以下参数:

     _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 

    参考 Note 6441119.8 - unpublished Bug 6441119 - Instance crash due to ORA-27300 / ORA-27152 
    从 sskgpwpost 或 sskgpwvectorpost 发出的 ORA-27300 错误可能会导致实例崩溃。


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 

    参考 Note 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 
当写一个文件的时候,设备空间不足。

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

        参考 Note 314179.1 Instance Startup Fails With Error ORA-27154,ORA-27300,ORA-27301,ORA-27302

Oracle 10.2 安装手册 (对于 Solaris 8 和 9):
semsys:seminfo_semmns 1024 
semsys:seminfo_semmsl 256

对于 Linux:

检查信号量的设置:

cat /proc/sys/kernel/sem

 

STATUS 34

ORA-27303: additional information: old_semid post_count 0x278031 6 
ORA-27152: attempt to post process failed 
ORA-27300: OS system dependent operation:semop failed with status: 34
ORA-27301: OS failure message: Numerical result out of range 
ORA-27302: failure occurred at: sskgpwvp2
ORA-27303: additional information: old_semid post_count 0x278031 6

    修改 系统 sem 参数来避免kernel错误:

比如:


kernel.sem = 250 32000 100 128
到:
kernel.sem = 1024 60000 1024 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 

    参考 RAC: Note 300956.1 Ora-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 

错误代码63是 ENOSR,“流资源不足”,和 ora-27301 错误信息中的一样。

STATUS 227

ORA-27300: OS system dependent operation:bind failed with status: 227 
ORA-27301: OS failure message: Can't assign requested address 
ORA-27302: failure occurred at: sskgxpcre3

参考 BUG: 9059053 - Status 92 - Not a bug.

解决办法:

提高 udp 端口范围,建议的设置是:
udp_smallest_anon_port=9000 
udp_largest_anon_port=65535

STATUS 997

ORA-27300: OS system dependent operation:spcdr:9261:4200 failed with status: 997 
ORA-27301: OS failure message: Overlapped I/O operation is in progress. 
ORA-27302: failure occurred at: skgpspawn 

     参考 Note 371074.1 ORA-27300 ORA-27301 ORA-27302 in alert log. Cannot connect to database。

Windows 特有的系统资源问题:
在一个32位的 Windows 环境中,一个进程(例如‘oracle.exe’)可访问的内存达到了最大值。

STATUS 10054

ORA-27508 : IPC error sending a message 
ORA-27300 : OS system dependent operation:IPCSOCK_Send failed with status: 10054 
ORA-27301 : OS failure message: An existing connection was forcibly closed by the remote host. 
ORA-27302 : failure occurred at: send_3 

      参考 Note 297498.1 Resolving Instance Evictions on Windows Platforms

也是在 Windows 上:
观察到以下现象:
无论 DOS 命令或者 BATCH 文件是否被执行都会收到这些错误:
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: Le fichier spécifié est introuvable. 
ORA-27302: failure occurred at: sjsec 6a 
ORA-27303: additional information: Le fichier spécifié est introuvable. 

可以发现 OracleJobScheduler 服务已经停止。
因此,如果你遇到了这个错误,请检查 OracleJobScheduler 服务。

对于 IBM AIX on POWER Systems (64-bit) 
请参考以下:
Ora-27300: Os System Dependent Operation:Fork Failed With Status: 12 <> 

如果你发现了函数 Skgpspawn skgpspawn5 中的任何一个
详细信息请参考 <1125188.1> , <812115.1> 和 <435787.1>。

如果搜索到的解决办法没有在上述“总”表中列出,那么缩小搜索范围的一个提示是尝试使用以下关键词:
ORA-27300 OS 调用引起的错误(ORA-27300 中的第一个 %s)Oracle 调用 OS 发生的错误(ORA-27302 中的 %s)例如尝试搜索: ORA-27300 fork skgpspawn3

猜你喜欢

转载自blog.csdn.net/qq_21127313/article/details/79818669