zoukankan      html  css  js  c++  java
  • ORA-27157 ORA-27300 ORA-27301

    目录:

    • 问题现象
    • 原因分析
    • 解决方案

    问题现象:

      收到同事反馈,数据库无法连接。于是登录服务器发现,数据库莫名挂掉。实例crash,日志中记录截取一段如下:

    Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ckpt_9364.trc:
    ORA-27157: OS post/wait facility 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

    原因分析:

      在rhel7.2中,systemd-logind服务引入了一个新特性:

      在一个user完全退出OS后会remove掉所有的IPC对象。 
      该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。RemoveIPC的默认值是yes。详细请看man logind.conf(5)。

      因此,当最后一个oracle或者grid用户退出时,操作系统会remove掉这个user的shared memory segments和semaphores。

      数据库用户使用的都是共享内存,一旦共享内存段被remove掉,就会出现这个问题。

    解决方法:

      以root用户执行。

    sed -i 's/RemoveIPC=yes/RemoveIPC=no/g' /etc/systemd/logind.conf
  • 相关阅读:
    C语言宏定义##连接符和#符的使用
    C语言宏高级用法 [总结]
    101平衡模式 DIR的理解
    MACHINE_START 怎样调用
    SYSCALL_DEFINE3宏定义的分析
    ARM-Linux系统调用流程
    SYSCALL_DEFINE3 宏定义的转换
    socket编程之select()
    socket编程之select()
    Oracle 常用的查询操作
  • 原文地址:https://www.cnblogs.com/halberd-lee/p/9103884.html
Copyright © 2011-2022 走看看