如何诊断RAC数据库上的“IPC Send timeout”问题

IPC Send timeout detected. Receiver ospid IPC超时的问题 IPC Send timeout 是 Oracle10g Rac中非常让人头痛的一个问题,在资源紧张、网络拥堵等情况下,就有可能发生IPC超时的问题,而RAC随后就会将问题节点驱逐,引发一轮重新配置。可喜的是Metalink上针对10.2.0.3有了一个Patch可以修正,而且在10.2.0.4中彻底修正了该问题。这个BUG号是Bug 519059610.2.0.3的确常有这个问题,而10.2.0.4却很少看到。 阅读详情

 RAC 数据库上比较常见的一种问题就是“IPC Send timeout”。数据库Alert log中出现了“IPC Send timeout”之后,经常会伴随着ora-29740 或者 "Waiting for clusterware split-brain resolution"等,数据库实例会因此异常终止或者被驱逐出集群。

比如:

实例1的ALERT LOG:

Thu Jul 02 05:24:50 2012
IPC Send timeout detected.Sender: ospid 6143755<==发送者
Receiver: inst 2 binc 1323620776 ospid 49715160<==接收者

Thu Jul 02 05:24:51 2012
IPC Send timeout to 1.7 inc 120 for msg type 65516 from opid 13
Thu Jul 02 05:24:51 2012
Communications reconfiguration: instance_number 2
Waiting for clusterware split-brain resolution <==出现脑裂
Thu Jul 02 05:24:51 2012
Trace dumping is performing id=[cdmp_20120702052451]
Thu Jul 02 05:34:51 2012
Evicting instance 2 from cluster <==过了10分钟,实例2被驱逐出集群

实例2的ALERT LOG:

Thu Jul 02 05:24:50 2012
IPC Send timeout detected. Receiver ospid 49715160 <==接收者
Thu Jul 02 05:24:50 2012
Errors in file /u01/oracle/product/admin/sales/bdump/sales2_lms6_49715160.trc:
Thu Jul 02 05:24:51 2012
Waiting for clusterware split-brain resolution
Thu Jul 02 05:24:51 2012
Trace dumping is performing id=[cdmp_20120702052451]
Thu Jul 02 05:35:02 2012
Errors in file /u01/oracle/product/admin/sales/bdump/sales2_lmon_6257780.trc:
ORA-29740: evicted by member 0, group incarnation 122  <==实例2出现ORA-29740错误,并被驱逐出集群
Thu Jul 02 05:35:02 2012
LMON: terminating instance due to error 29740
Thu Jul 02 05:35:02 2012
Errors in file /u01/oracle/product/admin/sales/bdump/sales2_lms7_49453031.trc:
ORA-29740: evicted by member , group incarnation

    在RAC实例间主要的通讯进程有LMON, LMD, LMS等进程。正常来说,当一个消息被发送给其它实例之后,发送者期望接收者会回复一个确认消息,但是如果这个确认消息没有在指定的时间内收到(默认300秒),发送者就会认为消息没有达到接收者,于是会出现“IPC Send timeout”问题。

    这种问题通常有以下几种可能性:
1. 网络问题造成丢包或者通讯异常。
2. 由于主机资源(CPU、内存、I/O等)问题造成这些进程无法被调度或者这些进程无响应。
3. Oracle Bug.

   在这方面的Oracle Bug不是太多,大多数时候都是网络或者资源问题造成这种情况。

   为了分析这种问题,网络和资源监控工具是非常必要的。推荐安装OSWBB,对于如何安装和使用OSWBB,请参考文章利器OSW (OSWatcher Black Box) 之简介篇。

   下面是一个由于主机资源紧张造成的“IPC Send timeout”例子:

   实例1的Alert log中显示接收者是2号机的进程1596935,

Fri Aug 01 02:04:29 2008 
 IPC Send timeout detected.Sender: ospid 1506825 <==发送者
 Receiver: inst 2 binc -298848812 ospid 1596935  <==接收者

   查看当时2号机的OSWatcher的vmstat输出:

 zzz ***Fri Aug 01 02:01:51 CST 2008 
 System Configuration: lcpu=32 mem=128000MB 
 kthr     memory             page              faults        cpu     
 ----- ----------- ------------------------ ------------ ----------- 
  r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa 
 25  1 7532667 19073986   0   0   0   0    5   0 9328 88121 20430 32 10 47 11 
58  0 7541201 19065392   0   0   0   0    0   0 11307 177425 10440 87 13  0  0 <==idle的CPU为0,说明CPU100%被使用
61
  1 7552592 19053910   0   0   0   0    0   0 11122 206738 10970 85 15  0  0 

 zzz ***Fri Aug 01 02:03:52 CST 2008 
   System Configuration: lcpu=32 mem=128000MB 
   kthr     memory             page              faults        cpu     
 ----- ----------- ------------------------ ------------ ----------- 
  r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa 
 25  1 7733673 18878037   0   0   0   0    5   0 9328 88123 20429 32 10 47 11 
81  0 7737034 18874601   0   0   0   0    0   0 9081 209529 14509 87 13  0  0 <==CPU的run queue非常高
80
  0 7736142 18875418   0   0   0   0    0   0 9765 156708 14997 91  9  0  0 <==idle的CPU为0,说明CPU100%被使用

  上面这个例子说明当主机CPU负载非常高的时候,接收进程无法响应发送者,从而引发了“IPC Send timeout”。

  下面是一个由于网络问题造成的“IPC Send timeout”例子:

   实例1的Alert log中显示接收者是2号机的进程49715160,

Thu Jul 02 05:24:50 2012
IPC Send timeout detected.Sender: ospid 6143755 <==发送者
Receiver: inst 2 binc 1323620776 ospid 49715160 <==接收者

   查看当时2号机的OSWatcher的vmstat输出,没有发现CPU和内存紧张的问题,查看OSWatcher的netstat输出,在发生问题前几分钟,私网的网卡上有大量的网络包传输。

Node2:
zzz Thu Jul 02 05:12:38 CDT 2012
Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
en1   1500  10.182.3    10.182.3.2       4073847798     0 512851119     0     0 <==4073847798 - 4073692530 = 155268 个包/30秒

zzz Thu Jul 02 05:13:08 CDT 2012
Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
en1   1500  10.182.3    10.182.3.2       4074082951     0 513107924     0     0 <==4074082951 - 4073847798 = 235153 个包/30秒

Node1:
zzz Thu Jul 02 05:12:54 CDT 2012
Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
en1   1500  10.182.3    10.182.3.1       502159550     0 4079190700     0     0 <==502159550 - 501938658 = 220892 个包/30秒

zzz Thu Jul 02 05:13:25 CDT 2012
Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
en1   1500  10.182.3    10.182.3.1       502321317     0 4079342048     0     0 <==502321317 - 502159550 = 161767 个包/30秒

查看这个系统正常的时候,大概每30秒传输几千个包:

zzz Thu Jul 02 04:14:09 CDT 2012
Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
en1   1500  10.182.3    10.182.3.2       4074126796     0 513149195     0     0 <==4074126796 - 4074122374 = 4422个包/30秒

   这种突然的大量的网络传输可能会引发网络传输异常。对于这种情况,需要联系网管对网络进行检查。在某些案例中,重启私网交换机或者调换了交换机后问题不再发生。(请注意,网络的正常的传输量会根据硬件和业务的不同而不同。)


下面是一个由于I/O问题造成的“IPC Send timeout”例子:

   实例的Alert log中显示接收者是1号机的LMON进程:

Sun Feb 22 07:57:30 2014
IPC Send timeout detected. Receiver ospid 44105801 [oracle@db1 (LMON)] <========================接收者

查看这个进程生成的trace文件db1_lmon_44105801.trc,发现当时LMON的函数都是和IO有关的:

kjxgmpoll: stalled for 94 seconds (threshold 42 sec)

----- Call Stack Trace -----
skdstdst <- ksedst1 <- ksedst <- dbkedDefDump <- ksedmp
       <- ksdxfdmp <- ksdxcb <- sspuser <- 48bc <- sigthreadmask
        <- sslsstehdlr <- sslsshandler <- 48bc <- skgfsio <- skgfqio
         <- ksfd_skgfqio <- ksfd_io <- ksfdread <- kfk_ufs_sync_io <- kfk_submit_ufs_io
          <- kfk_submit_io <- kfk_io1 <- kfkRequest <- kfk_transitIO <- kfioSubmitIO 

           <- kfioRequestPriv <- kfioRequest <- ksfd_kfioRequest <- 576 <- ksfd_osmio
            <- ksfd_io <- ksfdread <- kccrbp <- kccgrd <- kjxgrf_rr_read
             <- kjxgrDD_rr_read <- kjxgrimember <- kjxggpoll <- kjfmact <- kjfdact
              <- kjfcln <- ksbrdp <- opirip <- opidrv <- sou2o
               <- opimai_real <- ssthrdmain <- main <- start

   总结一下,对于“IPC Send timeout”:
1) 通过Oracle自带的CHM (Cluster Health Monitor)的输出来检查当时的资源、网络使用情况。CHM只在某些平台和版本上存在,关于CHM,请参考文章11gR2 新特性:Oracle Cluster Health Monitor(CHM)简介。
2) 如果没有CHM,请安装OSWBB来监控网络和主机资源。
3) 检查网络上是否有UDP或者IP包丢失的情况、网络上是否有错误。
4) 检查所有节点的网络设置是否正确。比如,所有节点MTU的设置必须是一致的,如果Jumbo Frame被使用的话,需要保证交换机可以支持MTU为9000.
5) 检查服务器是否有CPU使用率高或者内存不足的情况。
6) 检查实例被驱逐之前是否有数据库hang或者严重的性能问题。


  在下面的MOS文档中有针对“IPC Send timeout”的介绍:
  Top 5 issues for Instance Eviction (Doc ID 1374110.1)

《Ventoy 制作系统安装 U 盘的具体步骤》 然后您可以在电脑的磁盘管理中对 U 盘进行快速格式化,选择 FAT32 或 NTFS 文件系统。至此,Ventoy 系统安装 U 盘就制作完成了。您可以在需要安装系统的电脑上,从 U 盘启动,然后选择相应的系统镜像进行安装。安装完成后,将您需要的操作系统镜像文件(如 Windows、Linux 等的 ISO 格式镜像)复制到 U 盘的根目录。在安装程序中,选择您插入的 U 盘设备,确保选择正确,以免误操作。2. 确认选择的 U 盘盘符正确,防止误操作导致其他磁盘数据丢失。点击“安装”按钮,等待安装完成。 阅读详情

相关推荐

从ViT到Swin Transformer:一文搞懂Transformer在CV中的进化史(附实战代码)

本文系统梳理了Transformer在计算机视觉领域的演进历程,从开创性的Vision Transformer(ViT)引入全局注意力机制,到DETR实现端到端目标检测,再到里程碑式的Swin Transformer通过滑动窗口和层次化设计高效桥接CNN与ViT。文章深入剖析了各模型的核心思想、技术突破与实战应用,并提供了可运行的代码示例,帮助读者从理论到实践全面掌握这一关键技术脉络。

cola5的博客 713

Oracle RAC IPC Send timeout detected问题分析处理

Oracle RAC IPC Send timeout detected问题分析处理

听雪楼主 1194

STM32掉电保存配置参数技巧

本文介绍了使用STM32内置备份寄存器(BKP)实现掉电保存配置参数的方法。相比外接EEPROM或Flash,备份寄存器无需外设但存储容量有限,需通过VBAT引脚连接纽扣电池供电。文章详细说明了初始化步骤,包括使能PWR时钟、允许访问备份寄存器等操作,并提供了RTC初始化的代码示例。同时介绍了HAL库中读写备份寄存器的函数使用方法,包括HAL_RTCEx_BKUPWrite和HAL_RTCEx_BKUPRead函数的具体参数和调用示例。该方法适用于需要小容量数据掉电保存的应用场景。

hanhanhan233的博客 947

记录一次生产数据库的(性能)故障处理过程--(上)

最近碰到一个生产系统的(性能)故障处理过程。比较典型,记录下来。 生产数据库架构:两个节点的RAC、单实例文件系统的Data guard。应用上做了主备的读写分离,写操作在主库,读操作大部分在备库。 RDMBS: 12.2.0.1 (SGA 300G、PGA 100G,启用了大页面) OS : Oracle Linux 7 (具体是7的那个版本 ,没有留意 哈 ),CPU 144 Core,Momory 512G 。挺强悍的机器。 一 、主要问题: 1 客户提出主库在上午9点多的时候,...

文档搬运工 1182

LaMAR数据集下载和使用流程

LaMAR数据集

qq_51745206的博客 971

医疗大模型实战——从零构建MedicalGPT全流程解析

本文详细解析了从零构建医疗大模型MedicalGPT的全流程实战。基于Qwen-7B模型与约195万条中文医疗数据,完整复现了增量预训练、监督微调与偏好对齐三大核心环节,并分享了如何在有限硬件资源下实现高效训练与部署,为开发者提供了可复现的医疗AI项目实战指南。

weixin_29193259的博客 554

oracle_导致实例逐出的五大问题

Purpose   Scope   Details   问题 1:警报日志显示 ora-29740 是实例崩溃/驱逐的原因   症状:   可能的原因:   解决方案:   问题 2:警报日志在实例崩溃或

qyq88888的专栏 1487

MATLAB 设置legend加标题

x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1) hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled') hold off legend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')%水平 legend添加标题 lgd = legend; lgd.Fon

早起CaiCai的学习空间 4714

oracle rac 报错:IPC Send timeout detected

1.故障情况 3节点rac,安装完成运行正常,随着接入系统变多负载变大,突然一天有一个节点被提出集群,重新将节点加入集群,依然被踢出。两个节点运行就很正常,后台日志爆出大量IPC Send timeout detected错误。 2.检查分析 检查netstat -s发现packet reassembles failed指标大量增加,通过分析得出,相较于2节点rac,3节点之间通信的数据量会增加很多,随着系统负载的加大就造成了包重组大量失败。 3.解决办法 修改如下参数 net.ipv4.ip

bestinter2010的博客 1167

注意力机制模块:二次创新:CBAM 与 ECA 融合形成 CECA 模块,参数量减少 40%

文章摘要: 本文提出一种轻量化注意力模块CECA,通过融合CBAM和ECA的优势解决模型部署中的精度与速度矛盾。CBAM虽具备通道和空间双重注意力,但参数量大;ECA轻量但缺乏空间注意力。CECA采用ECA的一维卷积替换CBAM的通道注意力部分,保留其空间注意力模块,在保持双注意力能力的同时减少40%参数量。实验表明该方案在边缘设备部署中能维持精度并提升推理速度,特别适用于YOLO等目标检测模型的轻量化改进。文章详细拆解了架构设计、代码实现及参数量优化原理,为算法工程师和嵌入式开发者提供了实用解决方案。

ZXSXJ的博客 237

基于深度学习的推荐系统设计与实现

基于深度学习的推荐系统设计与实现 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming / TextGenWebUILLM 基于深度学习的推荐系统设计与实现 关键词:深度学习, 推荐系统, 用

AI天才研究院 1079

Oracle中的ipc,IPC Send Timeout和ORA-29740 Instance Evicted

环境:ibm aix rac + oracle 10.0.2.3现象:应用都连接不上,其中一台机器(ip:10)可以telnet,另一台机器(ip:11)无法telnet,等待一个小时后,两台机器都可以telnet了,应用都恢复正常了,这种情况在10天内出现两次了;以下是部分alter内容:1、alter.log:"Thu Oct 1 15:49:28 2009Process q000 died...

weixin_42458128的博客 348

使用R语言获取泊松回归模型的事件密度比(Incidence Rate Ratio,IRR)的95%置信区间

在泊松回归模型中,我们通常关注的是自变量对事件发生率的影响,而事件密度比(Incidence Rate Ratio,IRR)可以帮助我们理解不同自变量对事件发生率的相对影响。在本文中,我们将使用R语言来获取泊松回归模型所有系数的事件密度比的95%置信区间。通过以上步骤,我们可以使用R语言获取泊松回归模型所有系数的事件密度比的95%置信区间。为了获取事件密度比的置信区间,我们将使用。使用R语言获取泊松回归模型的事件密度比(Incidence Rate Ratio,IRR)的95%置信区间。

BugCrusher的博客 1264

如何诊断RAC数据库上的“IPC Send timeout”问题?

RAC 数据库上比较常见的一种问题就是“IPC Send timeout”。数据库Alert log中出现了“IPC Send timeout”之后,经常会伴随着ora-29740 或者 "Waiting for clusterware split-brain resolution"等,数据库实例会因此异常终止或者被驱逐出集群。 比如: 实例1的ALERT LOG: Thu Ju

欧辰的专栏 6938

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

诊断RAC数据库上的“IPC Send timeout”问题(原创)

IPC Send timeout故障现象 RAC 数据库上比较常见的一种问题就是“IPC Send timeout”。数据库Alert log中出现了“IPC Send timeout”之后,经常会伴随着ora-29740 或者 "Waiting for clusterware split-brain resolution"等,数据库实例会因此异常终止或者被驱逐出集群 比如: 实例1的ALE...

czmmiao的专栏 949

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

oracle ipc message,【案例】Oracle RAC IPC send timeout error导致RAC的节点挂起解决办法

天萃荷净Oracle研究中心案例分析:运维DBA反映Oracle RAC环境数据库节点挂起,分享日志发现是由于IPC send timeout error导致RAC的节点挂起。本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客本文链接地址: “IPC send timeout error” 导致RAC的节点挂起一同事...

weixin_39957647的博客 1333

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Oracle RAC数据库实例启动异常问题分析IPC Send timeout

近期,某用户在重启RAC一个节点的数据库实例时,发现启动速度非常慢。同时业务部门反馈连接RAC存活节点的业务也受影响。 通过对日志的分析,在启动数据库时,Reconfiguration速度慢,Reconfiguration后报错IPC Send timeout detected. Sender: ospid 53884 [oracle@test2 (LMD0)],从而出现了数据库实例组的节点驱逐;Wed Apr 13 19:28:02 2022 Instance termination initiated

还不算晕的专栏 2235

故障诊断:Oracle RAC中IPC Send timeout导致实例重启(reason 0x1)

本文分析了Oracle RAC在AIX平台上因IPC Send timeout导致实例重启的问题。环境为10.2.0.5版本的双节点数据库,启动第二个节点时会导致第一个节点因IPC超时被踢出。文章详细检查了hosts文件和网卡配置,发现HACMP网络配置存在多个问题:公共网段重复出现在Oracle和HACMP中,私有网段配置错误(111.112.1.0网段配置为111.111.1)。错误日志显示在启动过程中出现"sskgpgetexecname failed"和接口配置问题。建议检查网络

提供数据库技术支持(系统优化,故障处理,安装升级,数据恢复等) 1155

“IPC send timeout error” 导致RAC的节点挂起

详见个人博客站点链接 http://www.killdb.com/2011/11/29/ipc-send-timeout-error-caused-2-nodes-to-reboot-in-rac.html

Roger的数据库专栏 683

Oracle连接配置三剑客:tnsnames.ora、listener.ora与sqlnet.ora深度解析

数据库连接是应用与数据库交互的基础环节,而Oracle的连接体系由tnsnames.ora、listener.ora与sqlnet.ora三份配置文件协同支撑。这三者分别充当客户端通讯录、服务端前台和网络规则手册,理解它们的职责与交互原理,是排查ORA-12514、ORA-12541等高频连接错误的关键。掌握tnsnames字段解析、监听动态与静态注册、sqlnet认证与解析策略后,开发人员和初级DBA即可快速定位连接故障,避免盲目修改配置。无论是单机环境、RAC集群还是跨防火墙网络,这套知识都能显著提升数

weixin_34054931的博客 678

Netcatty:基于Rust与本地AI的现代化SSH运维工具

SSH是Linux系统远程管理的基础协议,其客户端长期面临性能瓶颈、安全风险与交互低效三大挑战。传统工具如Termius依赖Electron架构导致资源占用高、XSS风险大;而云端AI运维方案因无法访问本地文件系统和实时环境状态,难以支撑真实排障决策。Netcatty以Rust重写核心通信层,结合WASM前端与本地量化小模型(Phi-3-mini),实现毫秒级会话切换、上下文隔离执行与离线AI命令辅助。它支持Kubernetes巡检、信创环境适配、边缘IoT低资源部署等典型运维场景,并深度集成VS Code

weixin_28727975的博客 276

HDFS 中常见的Timeout

前段时间遇到HDFS的各种超时,这里总结下遇到的超时:IPC1.IPC connect timeout:在Client端setupConnection设置,2.0.3之前是20s,之后是可配置ipc.client.connect.timeout2.IPC max idle time:ipc.client.connection.maxidletime设置,默认20s,若在20s...

weixin_34342905的博客 1355

记录一次RAC节点驱逐的分析

RDBMS 12.1.0.1  OS redhat 6.6 X64 。 在晚上10点多发现节点被驱逐了 。两个节点的alert log分别如下: IPC Send timeout detected. Sender: ospid 56076 [oracle@XXXXX01 (QM03)] Receiver: inst 2 binc 4 ospid 32706 Wed Jul 25 22:11...

文档搬运工 1941
上一篇: 如何诊断RAC系统中的gc cr multi block request
下一篇: 导致实例逐出的五大问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值