首页 > 代码库 > RemoveIPC=yes 的RHEL7.2 会crash掉Oracle asm 实例和Oracle database实例

RemoveIPC=yes 的RHEL7.2 会crash掉Oracle asm 实例和Oracle database实例

一个在centos7.2上的11204库的实例crash了,检查alert发现如下:

Wed Sep 21 00:00:11 2016
Errors in file /apps/oracle/diag/rdbms/xberp/xberp/trace/xberp_ckpt_17537.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
Wed Sep 21 00:00:11 2016
Errors in file /apps/oracle/diag/rdbms/xberp/xberp/trace/xberp_dbrm_17523.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
Wed Sep 21 00:00:11 2016
Errors in file /apps/oracle/diag/rdbms/xberp/xberp/trace/xberp_mman_17527.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
Wed Sep 21 00:00:11 2016
Errors in file /apps/oracle/diag/rdbms/xberp/xberp/trace/xberp_j002_14570.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
CKPT (ospid: 17537): terminating the instance due to error 27157
Wed Sep 21 00:00:11 2016
Errors in file /apps/oracle/diag/rdbms/xberp/xberp/trace/xberp_j000_14566.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
Instance terminated by CKPT, pid = 17537
Errors in file /apps/oracle/diag/rdbms/xberp/xberp/trace/xberp_ckpt_17537.trc:
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: 43
ORA-27301: OS failure message: Identifier removed
ORA-27302: failure occurred at: sskgpwwait1
Wed Sep 21 10:20:34 2016

描述:

在centos7.2中,systemd-logind 服务引入了一个新特性,该新特性是:当一个user 完全退出os之后,remove掉所有的IPC objects。

该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。

在centos7.2中,RemoveIPC的默认值为yes

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

由于Oracle ASM 和database 使用 shared memory segments ,remove shared memory segments将会crash掉Oracle ASM and database  instances.


Oracle Linux 7.2 通过在/etc/systemd/logind.conf配置文件中明确设置RemoveIPC为no,Oracle Linux7.2 避免了该问题,


变通的解决方法:

1) Set RemoveIPC=no in /etc/systemd/logind.conf

2) Reboot the server or restart systemd-logind as follows:

    # systemctl daemon-reload

    # systemctl restart systemd-logind


这些错误跟os有关,在mos上有文档可能参考:

ALERT: Setting RemoveIPC=yes on Redhat 7.2 Crashes ASM and Database Instances as Well as Any Application That Uses a Shared Memory Segment (SHM) or Semaphores (SEM) (文档 ID 2081410.1)



本文出自 “刚刚出壳的小鸟” 博客,请务必保留此出处http://qhd2004.blog.51cto.com/629417/1854907

RemoveIPC=yes 的RHEL7.2 会crash掉Oracle asm 实例和Oracle database实例