oprocd 故障

       Oprocd 同 linux 的 Hangcheck-Timer 一样,有一个 探测机制,会定时去探测节点间的状态,以防止 I/O 出现问题,如果 Oprocd 没有及时返回结果,那么会引起os reboot。

但是,当 系统的 cpu 出现比较高的负载是,Oprocd 会没有及时返回结果的情况,那么这时,节点就会莫名重启,而且,因为 Oprocd 的 响应时间默认情况下设置比较短(0.5S),导致,系统还没来得及写日志信息,就重启了,所以,有时,我们很难去判断是由于什么原因导致系统重启的。这时,我们就需要去设置 Oprocd 的响应时间,将它改长。

首先,我们来看看 Oprocd 的官方解释:

PROCD is a process monitor that runs on hardware platforms supporting other third-party cluster managers and is present only on hardware platforms other than Linux. Its function is to create threads for the various processors on the system and to check if the processors are hanging. Every second, the PROCD thread wakes up and checks the processors on the system, and then goes to sleep for about 500 ms and tries again. If it does not receive any response after n seconds, it reboots the node. On Linux environments, the hangcheck timer module performs the same work that PROCD does on other hardware platforms.

接着,我们来看看,其他人是怎么去定义和设置 oprocd 的响应时间延时的:

linux平台上的Oracle Clusterware 10.2.0.4和以后版本引入了一个新的Oracle Clusterware Process Monitor Daemon (OPROCD)进程来监控系统状态和集群中的每个节点的健康状态,就象已经在不使用第三方的cluster软件的UNIX系统中提供的那样,下面来看看 OPROCD到底是何方神圣。

OPROCD在linux平台上的10.2.0.4版本中和hangcheck- timer一起运行,它和hangcheck-timer模块没有联系和依赖关系,它由init.ccsd进程产生出来并用root用户运行。 OPROCD进程被锁定在内存中来监控集群中的每个它自己运行的节点,来检测机器上的硬件或者驱动的freezes,并且提供I/O的fencing功能(这和SCSI提供的中断的fencing功能不同)。如果一个机器被冻结了足够长的时间后,它被会集群驱逐出节点,它自己需要强制重启自己来阻止集群从失败的节点上的锁资源被重新组织后,失败的节点仍然访问共享的数据文件上的有疑问的I/O操作。为了提供这样的功能,OPROCD执行检查,然后停止运行(休眠),然后如果在期望的时间内不能被唤醒,OPROCD将重启本机的节点。

注意:OPROCD在第三方实现的集群环境中是不存在的,因为在LINUX平台下没有通过验证的第三方的集群解决方案,所以linux平台下的0.2.0.4版本中OPROCD将总是会存在的。

OPROCD启动的时候有两个参数:

-t : 超时时间,缺省1000,单位毫秒 (OPROCD_DEFAULT_TIMEOUT=1000)

-m : 重启前可接受的延迟,单位毫秒,缺省500 (OPROCD_DEFAULT_MARGIN=500)

推荐设置DIAGWAIT为13来增加重启前可接受的时间来把更多的日志信息写入磁盘。

缺省的话,-m的间隔为500:

$ ps -efl | grep oprocd

0 S root 6444 3080 0 78 0 - 636 - Apr15 ? 00:00:00 /bin/sh /etc/init.d/init.cssd oprocd

4 S root 7255 6444 0 -40 - - 516 - Apr15 ? 00:00:00 /u01/app/crs11g/bin/oprocd run -t 1000 -m 500 -f

设置了DIAGWAIT为13会默认增加-m的时间,下面显示设置DIAGWAIT为13后,-m参数值为10000

$ ps -efl | grep oprocd

0 S root 6444 3080 0 78 0 - 636 - Apr15 ? 00:00:00 /bin/sh /etc/init.d/init.cssd oprocd

4 S root 7255 6444 0 -40 - - 516 - Apr15 ? 00:00:00 /u01/app/crs11g/bin/oprocd run -t 1000 -m 10000 -f

OPROCD和hangcheck-timer在linux平台下是同时运行并提供不同的检测机制的,当他们导致节点重启的话,在系统日志中记录的信息是不同的:

oprocd导致的重启会记录"SysRq: resetting"

Hangcheck-timer导致的重启会记录"Hangcheck: hangcheck is restarting the machine"

 

这里,如何 设置 DIAGWAIT 将 oprocd 的世界延迟呢?

Metalink:ID 559365.1

 

番外话:

Oprocd 故障分析:

根据 metalink:ID 265769.1 Troubleshooting 10g and 11.1 Clusterware Reboots 里的说法:

- A problem detected by the OPROCD process. This can be caused by 4 things:

 

1) An OS scheduler problem.

2) The OS is getting locked up in a driver or hardware.

3) Excessive amounts of load on the machine, thus preventing the scheduler from

behaving reasonably.

4) An Oracle bug.

基本上,很大程度上,是由于系统问题或负载造成的,所以,当出现 OPROCD 的故障问题时,除了 oprocd 日志(位于 /etc/oracle/oprocd)可以先看看 系统日志(其实 rac 故障,系统日志肯定要先看看):

Sun: /var/adm/messages

HP-UX: /var/adm/syslog/syslog.log

Tru64: /var/adm/messages

Linux: /var/log/messages

IBM: /bin/errpt -a > messages.out

 

http://www.itpub.net/viewthread.php?tid=1102568&extra=&page=1

Note: Crash event 0 was a INIT !

Note: This seems to be a user initiated INIT !

Please contact HP support referencing CRASHINFO_NOTE_INIT2.

。。。(略)

User requested reset of the system.

Oracle CRS (oprocd) TOC for clusterware integrity ...

这应该是 hp 的系统日志,具体什么原因也不知道

 

http://www.itpub.net/thread-1382105-1-1.html

http://zhang41082.itpub.net/post/7167/467698

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14730395/viewspace-682701/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14730395/viewspace-682701/

u3d逆向学习之纯C内存读写与ImGui绘制(Android) 方法:需要在/proc/pid/maps文件查找模块名,一行行遍历所有内存,第一个参数为模块名,第二个参数为索引index(因为该模块会有多个,index为正序遍历第index个该模块),若找到了则使用。32位游戏的指针大小采用4字节,而64位游戏的指针大小采用8字节(这里需要注意),数据地址以16进制存储,使用unsigned long类型 ,该函数只有一个参数,数据地址,返回该地址的指针跳转地址。文件,比较其中的内容是否与传入的包名相同,如果相同,则返回该进程的PID。 阅读详情

相关推荐

【网络图】:附Origin详细画图教程

网络图,是一种由节点(或顶点)和连接这些节点的边(或链路)组成的图形结构。在网络图中,节点通常代表系统中的一个实体(如项目中的一项任务、通信网络中的一个设备、或运输网络中的一个站点),而边则代表这些实体之间的直接联系或流动(如任务的先后顺序、数据的传输路径、或乘客的旅行路线)。 有向图:如果边具有方向性,即从一个节点指向另一个节点,则称为有向图。这种图常用于表示具有明确先后顺序或方向性的系统,如项目管理中的任务依赖关系。 无向图:如果图中的边没有方向,则称为无向图。它适用于表示实体间相互关联但无明确方向性的

weixin_50236590的博客 3954

CLUSTER三大后台进程和OCSSD、OPROCD进程

CSS(Cluster synchronizationservice) 这个服务通过管理集群中的节点成员身份完成整个集群的配置工作,每当有新的节点加入到集群,或者有节点离开时,CSS服务负责通知集群的所有节点变更集群配置信息。如果某个节点上的整个进程失败,就会重启这个节点,这个进程是以root身份运行。   CRS(clusterready service)   这个组件负责集群的高可用...

Mr.pan felix的专栏 3436

《AI应用架构师智能特征工程实践的前沿趋势解读》

面对传统方法的局限性,智能特征工程(Intelligent Feature Engineering)应运而生。智能特征工程是指利用人工智能、机器学习和自动化技术,实现特征提取、构造、选择和优化过程的自动化、智能化和可扩展化的方法和技术体系。效率提升:将数据科学家从繁琐的人工特征工程中解放出来,大幅缩短特征开发周期。质量保障:通过系统化方法发现人类难以察觉的特征模式,提高特征质量和模型性能。可扩展性:能够处理大规模、高维度和多类型的数据,适应不同领域和场景。降低门槛。

大数据洞察的博客 1181

再谈ORACLE CPROCD进程

罗列一下有关oprocd的知识点 oprocd是oracle在rac中引入用来fencing io的 在unix系统下,如果我们没有采用oracle之外的第三方集群软件,才会存在oprocd进程 在linux系统下,只有在10.2.0.4版本后,才会具有oprocd进程 在window下,不会存在oprocd 进程,但是会存在一个oraFenceService服务,用来实现相同的功能,该服

ezbit 2234

运放偏置电路设计:如何精准计算差分放大器的电压偏移量

本文深入解析了差分放大器偏置电路的设计原理与精准计算方法,重点阐述了如何通过引入参考电压实现信号电压偏移,以适应单电源ADC的输入范围。文章结合实战案例,详细推导了偏移电压公式,并强调了电阻匹配、运放选型及PCB布局对精度和共模抑制比的关键影响,帮助硬件工程师避免常见设计陷阱。

weixin_29288313的博客 634

P1196吃糖果游戏解题报告

 Name: P1196吃糖果游戏 Matrix67 第一次模拟赛 系列   Copyright: 始发于goal00001111的专栏;允许自由转载,但必须注明作者和出处  Author:  goal00001111  Date: 18-12-08 19:47  Description: 描述 Description     Matrix67和Shadow正在做一个小游戏。桌子上放着两堆糖果,M

goal00001111的专栏 2877

Know about RAC Clusterware Process OPROCD

OPROCD introduced in 10.2.0.4 Linux and other Unix platform. Fencing Cluster handling of nodes that should not have access to shared resources STONITH – Power cycle the node PCW – nodes fence th...

weixin_33737774的博客 182

[AI] 企业内网部署大模型的三种常见方案:从“能用”到“好用”的技术选型指南

企业内网部署大模型的三种方案解析:本地模型安全但门槛高,平台方案(如Dify)最平衡推荐,混合架构适合进阶需求。关键路径是渐进式演进,从快速验证到平台化建设,核心在于流程优化而非单纯选模型。数据安全、成本可控和工程落地能力是决策重点。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 770

LINUX平台下的10.2.0.4版本的CLUSTERWARE引入的变化-关于OPROCD进程

linux平台上的Oracle Clusterware 10.2.0.4和以后版本引入了一个新的Oracle Clusterware Process Monitor Daemon (OPROCD)进程来监控系统状态和集群中的每个...

crazycat123456的博客 206

qiankun 主子应用部署教程(Nginx 小白版)

本地开发:不用 Nginx,直接localhost:端口即可。本地模拟线上:用hosts + Nginx + 自定义域名,效果和生产接近。线上部署主应用只要配置 history 模式子应用必须支持 CORS + history + 缓存能跑是因为默认 server 兜底,但推荐写真实域名。主应用 vs 子应用的 Nginx 配置区别为什么本地和线上表现不一样history 模式 + 跨域的最佳实践。

专注于前端开发与实战技巧,记录从零到一的学习与项目经验。分享 Vue3 / JavaScript / TypeScript / Flutter /Uniapp等前端技术,以及 性能优化、工程化、最佳实践。 999

24年电赛H题 | 想要小车走直线,正在调角度环,但不知道怎么把角度偏航角偏差转化成电机速度输出?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1313

Linux平台由于OPROCD进程导致服务器重启的问题

Linux平台由于OPROCD进程导致服务器重启的问题由于oprocd进程的超时等参数默认值过小有可能导致机器在安装、...

congxinlan3332的博客 212

CloudCompare二次开发(1)——获取指定高程的所有点

使用CloudCompare插件实现获取点云数据中指定高程的所有点。

点云侠的博客 4734

linux中timer的作用,linux系统下 oprocd 和 hangcheck-timer 的作用

一、hangcheck-timer从oracle9.2.0.2.0开始到最近的11.1,Oracle,在linux下建立RAC时推荐使用一个I/O fencing模块,叫做hangcheck-timer,此模块作用是用来监测节点Linux kernel是否hang住,如果长时间hang住的话Oracle认为对RAC节点稳定性存在影响,就会重启此节点. 此模块有三个参数hangcheck_tick和...

weixin_35141284的博客 417

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

假人有限元模型

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

oracleRAC脑裂现象排查

现象:机器频繁重启,10:01重启第一次,15:22重启第二次,00:02重启第三次 近期机器机器由于cpu板故障,更换过内存和内存板,从硬件和软件两方面进行排查。 硬件排查: 开机状态下收集ilo日志 停机状态下收集主机硬件日志 软件排查: 可能造成节点重启的进程有3个,OCSSD,OPROCD,OCLSOMON 重启原因: OCSSD的原因就是心跳丢失(网络心跳或者投票磁盘出现问题)和CSS进...

yichpan的博客 1077

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

oracle rac 节点启动,Oracle 10g RAC 节点自动重启故障处理

将数据库集群升级到10.2.0.5之后,双节点服务器不断重启,查询Oracle oprocd进程日志,信息如下:Jul 03 08:16:34.702 | INF | monitoring started with timeout(1000), margin(500), skewTimeout(125)Jul 03 08:16:34.704 | INF | fatal mode startup, ...

weixin_42104947的博客 279

linux 重启节点网络、,Oracle教程:如何诊断节点重启问题

本文对如何诊断RAC环境中节点重启问题进行了介绍。适用于10gR2和11gR1.首先我们对能够导致节点重启的CRS进程进行介绍。1.ocssd : 它的主要功能是节点监控(Node Monitoring)和组管理(Group Management),它是CRS的核心进程之一。节点监控是指监控集群中节点的健康,监控的方法是通过网络心跳(network heartbeat)和磁盘心跳(disk hea...

weixin_29112009的博客 565

通过设置DIAGWAIT值使得RAC中节点被驱逐的时候能够记录更多的诊断日志

很多时候RAC中的节点宕机的时候,因为CPU或者磁盘等资源的繁忙或者其他问题,导致缓冲区中的日志还没有被写入磁盘上的日志中,节点就已经被重启,给故障诊断带来一定的麻烦,通过适当设置DIAGWAIT的值,使得节点被驱逐到真正OS ...

crazycat123456的博客 134

oracle10grac网卡一直重启,Oracle 10g RAC 节点自动重启故障处理

将数据库集群升级到10.2.0.5之后,双节点服务器不断重启,查询oracle oprocd进程日志,信息如下:将数据库集群升级到10.2.0.5之后,双节点服务器不断重启,查询Oracle oprocd进程日志,信息如下:Jul 03 08:16:34.702 | INF | monitoring started with timeout(1000), margin(500), skewTime...

weixin_42538752的博客 207

Oracle集群件组件

CRS是Oracle RAC 11g RAC高可用性框架的后台引擎,它为所有平台提供了标准集群接口。Oracle集群件由"集群就绪服务"(CRS)使用“Oracle集群注册表”(OCR)和...

502

oracle 10g clusterware,OracleClusterware10g/11g进程详解

crsd :执行高可用性的恢复和管理操作:维护ocr,管理应用资源,该进程以root用户身份运行。该进程在由于故障意外断后会自动重启。The Oracle 10g Clusterware processes on UNIX-based systems are:Oracle ClusterwareOracle-provided clusterware that manages clusterdata...

weixin_39721953的博客 117

10G 11GR1 通过设置DIAGWAIT值使得RAC中节点被驱逐的时候能够记录更多的诊断日志...

通过设置DIAGWAIT值使得RAC中节点被驱逐的时候能够记录更多的诊断日志 很多时候RAC中的节点宕机的时候,因为CPU或者磁盘等资源的繁忙或者其他问题,导致缓冲区中的日志还没有被写入磁盘上的日志中,节点就已经被...

coujiongyong0208的博客 185

linux系统下 oprocd和hangcheck-timer的作用

linux系统下 oprocd和hangcheck-timer的作用<br />默认分类2010-10-11 13:38:36阅读106评论0  字号:大中小 订阅<br />一、hangcheck-timer <br />从oracle9.2.0.2.0开始到最近的11.1,Oracle,在linux下建立RAC时推荐使用一个I/O fencing模块,叫做hangcheck-timer,此模块作用是用来监测节点Linux kernel是否hang住,如果长时间hang住的话Oracle认为对RAC节点稳

2122

linux系统下 oprocd 和 hangcheck-timer 的作用

一、hangcheck-timer     从oracle9.2.0.2.0开始到最近的11.1,Oracle,在linux下建立RAC时推荐使用一个I/O fencing模块,叫做hangcheck-timer,此模块作用是用来监测节点Linux kernel是否hang住,如果长时间hang住的话Oracle认为对RAC节点稳定性存在影响,就会重启此节点. 此模块有三个参数hangche

听海专栏 1301

RAC的一些概念和原理性知识多方总结【2】

接RAC的一些概念和原理性知识多方总结【1】 5) OPROCD OPROCD这个进程也叫作Process Monitor Daemon.如果在非Linux 平台上,并且没有使用第三方的集群软件时,...

cuanwuqian6695的博客 164

oracle表决盘和投票盘,Oracle系列:Oracle RAC集群体系结构

二、 Oracle Clusterware体系结构与进程介绍2.1、Oracle Clusterware 简介Cluster Ready Services,简称CRS,是oracle开发的一个集群软件,与其它集群软件类似,CRS主要完成集群成员管理、心跳监控、故障切换等功能,CRS要求每个集群节点的操作系统必须相同,这样,通过CRS将多个节点的操作系统绑定到了一起,客户端对集群的访问,就像访问一台...

weixin_33694136的博客 621
上一篇: ora 600 4080 when update the base table of the materialized VIEW whit on commit
下一篇: ora-3113 end-of-file on communication channel
cuichenkai7892
博客等级 码龄11年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值