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

Linux平台由于OPROCD进程导致服务器重启的问题
由于oprocd进程的超时等参数默认值过小有可能导致机器在安装、升级、运行等情况重启。特别是在虚拟机搭建的RAC测试环境问题更为突出。

解决办法:
编辑/etc/init.d/init.cssd
修改一下2个值:
OPROCD_DEFAULT_TIMEOUT=10000
OPROCD_DEFAULT_MARGIN=5000

[root@rhel1 bin]# ps -ef | grep oprocd
root      3842  2936  0 13:05 ?        00:00:00 /bin/sh /etc/init.d/init.cssd oprocd
root      4191  3842  0 13:05 ?        00:00:00 /u01/app/oracle/crs/bin/oprocd.bin run -t 10000 -m 5000 -f

OPROCD启动的时候有两个参数:
-t : 超时时间,缺省1000,单位毫秒 (OPROCD_DEFAULT_TIMEOUT=1000) 
-m : 重启前可接受的延迟,单位毫秒,缺省500 (OPROCD_DEFAULT_MARGIN=500)

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.

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

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平台下的10.2.0.4版本中OPROCD将总是会存在的。

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

转载于:http://blog.itpub.net/23135684/viewspace-660176/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值