iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >RHEL 7上oracle 莫名宕机 ORA-27300
  • 104
分享到

RHEL 7上oracle 莫名宕机 ORA-27300

2024-04-02 19:04:59 104人浏览 八月长安
摘要

现象: oracle 执行job:expdp,数据库实例直接宕掉,报错如下: ORA-27300: OS system dependent operation:semctl failed with stat

现象:

oracle 执行job:expdp,数据库实例直接宕掉,报错如下:
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

数据库版本11.2.0.4,操作系统版本:rhel 7
检查操作系统日志,定时任务日志并无异常;
原因:
On Redhat 7.x, systemd-logind service introduced a new feature to remove all IPC objects when a user fully logs out.
The feature is controled by the option RemoveIPC in the /etc/systemd/logind.conf configuration file,
see man logind.conf(5) for details.
在 RHEL 7.x的版本里,systemd-logind 服务控制着用户的行为,当用户退出,会清理该用户的所有内存段.那么定时任务的数据泵就有问题了,调用的内存段是oracle的;
查看removeipc的说明:
RemoveIPC=
Controls whether System V and POSIX IPC objects belonging to the user shall be removed when the user fully logs out. Takes a boolean argument. If enabled, the user
may not consume IPC resources after the last of the user's sessions terminated. This covers System V semaphores, shared memory and message queues, as well as POSIX
shared memory and message queues. Note that IPC objects of the root user are excluded from the effect of this setting. Defaults to "yes".
The default value for RemoveIPC in RHEL7.2 is yes.
默认值为yes; 所以当有定时任务时:
As a result, when the last oracle or grid user disconnects, the OS removes shared memory segments and semaphores for those users.
As Oracle ASM and Databases use shared memory segments for SGA, removing shared memory segments will crash the Oracle ASM and database instances.
解决办法:
1) Set RemoveIPC=no in /etc/systemd/logind.conf
2) 重启服务
systemctl daemon-reload
systemctl restart systemd-logind

参考MOS:
ORA-27300 ORA-27301 ORA-27302 ORA-27157 Database Crash (Doc ID 438205.1)
Failed Install of RAC with ASM: ORA-27300 ORA-27302 ORA-27300 ORA-27301 ORA-27302 (Doc ID 2099563.1)

您可能感兴趣的文档:

--结束END--

本文标题: RHEL 7上oracle 莫名宕机 ORA-27300

本文链接: https://www.lsjlt.com/news/42671.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • sql中exists具体用法
    exists 子查询用于检查外层查询中的行是否存在匹配记录,用法如下:包含在 select 语句的 where 子句中。返回布尔值 true (存在匹配) 或 fal...
    99+
    2024-05-15
  • sql中union用法
    union 运算符在 sql 中用来合并相同结构的表或子查询的结果集,排除重复行。它具有以下用法:合并具有相同列名和数据类型的多个表或子查询的结果集合并为一个。排除结果集中重复...
    99+
    2024-05-15
  • sql中索引的用法
    sql 中索引是一种通过创建数据指针来提高查询性能的技术,主要用于where、order by、join和group by子句。索引类型包括聚集索引、非聚集索引、主键索引、唯一...
    99+
    2024-05-15
    聚合函数
  • sql中nullif怎么用
    sql 中的 nullif() 函数,用于比较两个表达式并返回较小的值,若均为 null 则返回 null,语法为 nullif(expression1, expression2)。可用...
    99+
    2024-05-15
  • sql中decode用法
    decode 函数根据输入表达式值将值转换为另一个值,语法为 decode(expression, value1, result1, value2, result2, ..., defa...
    99+
    2024-05-15
  • sql中怎么删除字段中部分字符串
    在 sql 中删除字段中部分字符串,可以使用 replace() 函数。语法为:update table_name set column_name = replace(column_na...
    99+
    2024-05-15
  • sql中怎么删除字符串
    在 sql 中,可以使用以下函数删除字符串中的字符:1. substr() 截取子字符串;2. replace() 替换子字符串;3. ltrim() 删除左空格;4...
    99+
    2024-05-15
  • patindex在sql中的用法
    patindex 函数在 sql 字符串中搜索指定模式的文本,并返回其第一个匹配项的开始位置。它根据给定的模式和字符串,返回匹配项在字符串中的第一个字符的位置,如果未找到匹配项,则返回 ...
    99+
    2024-05-15
  • sql中怎么修改列
    sql 中修改表列涉及两个步骤:首先,可通过 alter table 语句添加、删除或重命名列;其次,可使用 modify 子句修改列属性(数据类型、约束、默认值等)。这些属性包括 no...
    99+
    2024-05-15
  • sql中extend的用法
    sql 中 extend 用于向表中添加新列。它使用以下步骤: 1. 使用 alter table 语句指定表名; 2. 使用 extend 子句添加新列的名称和数据类型; 3. 使用分...
    99+
    2024-05-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作