目录
问题 1:CRS-4639:无法连接 Oracle 高可用性服务,ohasd.bin 未运行或 ohasd.bin 虽在运行但无 init.ohasd 或其他进程
症状:
- 命令“$GRID_HOME/bin/crsctl check crs”返回错误:
CRS-4639: Could not contact Oracle High Availability Services
复制
- 命令“ps -ef | grep init”不显示类似于如下所示的行:
root 4878 1 0 Sep12 ? 00:00:02 /bin/sh /etc/init.d/init.ohasd run
复制
- 命令“ps -ef | grep d.bin”不显示类似于如下所示的行:
root 21350 1 6 22:24 ? 00:00:01 /u01/app/11.2.0/grid/bin/ohasd.bin reboot
复制
或者它只显示 “ohasd.bin reboot” 进程而没有其他进程
可能的原因:
- 文件“/etc/inittab”并不包含行
h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1
复制
- 未达到运行级别
- 一些 rc3 脚本挂起
- Init 进程 (pid 1) 并未衍生 /etc/inittab (h1) 中定义的进程,或 init.ohasd 之前的不当输入,如 xx:wait: 阻碍了 init.ohasd 的启动
- CRS 自动启动已禁用
- Oracle 本地注册表 ($GRID_HOME/cdata/.olr) 丢失或损坏
解决方案:
- 将以下行添加至 /etc/inittab
h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1
复制
并以 root 用户身份运行“init q”。
2. 运行命令“ps -ef | grep rc”,并kill看起来受阻的所有 rc3 脚本。
3. 删除 init.ohasd 前的不当输入。如果“init q”未衍生“init.ohasd run”进程,请咨询 OS 供应商
4. 启用 CRS 自动启动:
# crsctl enable crs # crsctl start crs
复制
- 以 root 用户身份从备份中恢复 OLR(Oracle 本地注册表):
# touch $GRID_HOME/cdata/.olr # chown root:oinstall $GRID_HOME/cdata/.olr # ocrconfig -local -restore$GRID_HOME/cdata//backup__.olr # crsctl start crs
复制
如果出于某种原因,OLR 备份不存在,要重建 OLR 就需要以 root 用户身份执行 deconfig 并重新运行 root.sh:
# $GRID_HOME/crs/install/rootcrs.pl -deconfig -force # $GRID_HOME/root.sh
复制
问题 2:CRS-4530:联系集群同步服务守护进程时出现通信故障,ocssd.bin 未运行
症状:
- 命令“$GRID_HOME/bin/crsctl check crs”返回错误:
CRS-4638: Oracle High Availability Services is online CRS-4535: Cannot communicate with Cluster Ready Services CRS-4530: Communications failure contacting Cluster Synchronization Services daemon CRS-4534: Cannot communicate with Event Manager
复制
- 命令“ps -ef | grep d.bin”不显示类似于如下所示的行:
oragrid 21543 1 1 22:24 ? 00:00:01 /u01/app/11.2.0/grid/bin/ocssd.bin
复制
- ocssd.bin 正在运行,但在 ocssd.log 中显示消息“CLSGPNP_CALL_AGAIN”后又中止运行
- ocssd.log 显示如下内容:
2012-01-27 13:42:58.796: [ CSSD][19]clssnmvDHBValidateNCopy: node 1, racnode1, has a disk HB, but no network HB, DHB has rcfg 223132864, wrtcnt, 1112, LATS 783238209, lastSeqNo 1111, uniqueness 1327692232, timestamp 1327693378/787089065
复制
- 对于 3 个或更多节点的情况,2 个节点形成的集群一切正常,但是,当第 3 个节点加入时就出现故障,ocssd.log 显示如下内容:
2012-02-09 11:33:53.048: [ CSSD][1120926016](:CSSNM00008:)clssnmCheckDskInfo: Aborting local node to avoid splitbrain. Cohort of 2 nodes with leader 2, racnode2, is smaller than cohort of 2 nodes led by node 1, racnode1, based on map type 2 2012-02-09 11:33:53.048: [ CSSD][1120926016]################################### 2012-02-09 11:33:53.048: [ CSSD][1120926016]clssscExit: CSSD aborting from thread clssnmRcfgMgrThread
复制
- 10 分钟后 ocssd.bin 启动超时
2012-04-08 12:04:33.153: [ CSSD][1]clssscmain: Starting CSS daemon, version 11.2.0.3.0, in (clustered) mode with uniqueness value 1333911873 ...... 2012-04-08 12:14:31.994: [ CSSD][5]clssgmShutDown: Received abortive shutdown request from client. 2012-04-08 12:14:31.994: [ CSSD][5]################################### 2012-04-08 12:14:31.994: [ CSSD][5]clssscExit: CSSD aborting from thread GMClientListener 2012-04-08 12:14:31.994: [ CSSD][5]################################### 2012-04-08 12:14:31.994: [ CSSD][5](:CSSSC00012:)clssscExit: A fatal error occurred and the CSS daemon is terminating abnormally
复制
可能的原因:
- 表决磁盘丢失或无法访问
- 多播未正常工作(对于 11.2.0.2 及以上版本)
- 私网未工作,ping 或 traceroute 显示无法访问目标。或虽然 ping/traceroute 正常工作,但是在私网中启用了防火墙
- 使用正常 ping 命令可对私网进行 ping 操作,但启用巨帧时(MTU:9000+),不能使用巨帧尺寸(如:ping -s 8900 )进行 ping 操作。或部分集群节点设置了巨帧(MTU:9000),但问题节点未设置巨帧(MTU:1500)
- gpnpd 未出现,卡在 dispatch 线程中, Bug 10105195
- 通过 asm_diskstring 发现的磁盘太多,或由于 Bug 13454354 导致扫描太慢(仅在 Solaris 11.2.0.3 上出现)
解决方案:
- 通过检查存储存取性、磁盘权限等恢复表决磁盘存取。
如果 OCR ASM 磁盘组中的 voting disk已经丢失,以独占模式启动 CRS,并重建表决磁盘:
# crsctl start crs -excl # crsctl replace votedisk <+OCRVOTE diskgroup>
复制
- 请参考 Document 1212703.1 ,了解多播功能的测试及修正
- 咨询网络管理员,恢复私网访问或禁用私网防火墙(对于 Linux,请检查服务 iptables 状态和服务 ip6tables 状态)
- 如果巨帧在网卡中启用,则联系网络管理员在交换机层也启用。
- 终止正常运行节点上的 gpnpd.bin 进程,请参考 Document 10105195.8
一旦以上问题得以解决,请重新启动 Grid Infrastructure。
如果 ping/traceroute 对私网均可用,但是问题发生在从 11.2.0.1 至 11.2.0.2 升级过程中,请检查
Bug 13416559 获取解决方法。 - 通过提供更加具体的 asm_diskstring,限制 ASM 扫描磁盘的数量,请参考 bug 13583387
对于 Solaris 11.2.0.3,请应用补丁 13250497,请参阅 Document 1451367.1.
问题 3:CRS-4535:无法与集群就绪服务通信,crsd.bin 未运行
症状:
- 命令“$GRID_HOME/bin/crsctl check crs”返回错误:
CRS-4638: Oracle High Availability Services is online CRS-4535: Cannot communicate with Cluster Ready Services CRS-4529: Cluster Synchronization Services is online CRS-4534: Cannot communicate with Event Manager
复制
- 命令“ps -ef | grep d.bin”不显示类似于如下所示的行:
root 23017 1 1 22:34 ? 00:00:00 /u01/app/11.2.0/grid/bin/crsd.bin reboot
复制
- 即使存在 crsd.bin 进程,命令“crsctl stat res -t –init”仍然显示:
ora.crsd 1 ONLINE INTERMEDIATE
复制
可能的原因:
- ocssd.bin 未运行,或资源 ora.cssd 不在线
- +ASM 实例无法启动
- OCR 无法访问
- 网络配置已改变,导致 gpnp profile.xml 不匹配
- Crsd 的 $GRID_HOME/crs/init/.pid 文件已被手动删除或重命名,crsd.log 显示:“Error3 -2 writing PID to the file”
- ocr.loc 内容与其他集群节点不匹配。crsd.log 显示:“Shutdown CacheLocal. my hash ids don’t match”
解决方案:
- 检查问题 2 的解决方案,确保 ocssd.bin 运行且 ora.cssd 在线
- 对于 11.2.0.2 以上版本,确保资源 ora.cluster_interconnect.haip 在线,请参考 Document 1383737.1 了解和HAIP相关的,ASM无法启动的问题。
- 确保 OCR 磁盘可用且可以访问。如果由于某种原因丢失 OCR,请参考 Document 1062983.1 了解如何恢复OCR。
- 恢复网络配置,与 $GRID_HOME/gpnp//profiles/peer/profile.xml 中定义的接口相同,请参考
Document 283684.1 了解如何修改私网配置。 - 请使用 touch 命令,在 $GRID_HOME/crs/init 目录下创建名为 .pid 的文件。
对于 11.2.0.1,该文件归 用户所有。
对于 11.2.0.2,该文件归 root 用户所有。 - 使用 ocrconfig 命令修正 ocr.loc 内容:
例如,作为 root 用户:
# ocrconfig -repair -add +OCR2 (添加条目) # ocrconfig -repair -delete +OCR2 (删除条目)
复制
以上命令需要 ohasd.bin 启动并运行 。
一旦以上问题得以解决,请通过以下命令重新启动 GI 或启动 crsd.bin:
# crsctl start res ora.crsd -init
复制
问题 4:Agent 或者 mdnsd.bin, gpnpd.bin, gipcd.bin 未运行
症状:
- orarootagent 未运行. ohasd.log 显示:
2012-12-21 02:14:05.071: [ AGFW][24] {0:0:2} Created alert : (:CRSAGF00123:) : Failed to start the agent process: /grid/11.2.0/grid_2/bin/orarootagent Category: -1 Operation: fail Loc: canexec2 OS error: 0 Other : no exe permission, file [/grid/11.2.0/grid_2/bin/orarootagent]
复制
- mdnsd.bin, gpnpd.bin 或者 gipcd.bin 未运行, 以下是 mdnsd log中显示的一个例子:
2012-12-31 21:37:27.601: [ clsdmt][1088776512]Creating PID [4526] file for home /u01/app/11.2.0/grid host lc1n1 bin mdns to /u01/app/11.2.0/grid/mdns/init/ 2012-12-31 21:37:27.602: [ clsdmt][1088776512]Error3 -2 writing PID [4526] to the file [] 2012-12-31 21:37:27.602: [ clsdmt][1088776512]Failed to record pid for MDNSD
复制
或者
2012-12-31 21:39:52.656: [ clsdmt][1099217216]Creating PID [4645] file for home /u01/app/11.2.0/grid host lc1n1 bin mdns to /u01/app/11.2.0/grid/mdns/init/ 2012-12-31 21:39:52.656: [ clsdmt][1099217216]Writing PID [4645] to the file [/u01/app/11.2.0/grid/mdns/init/lc1n1.pid] 2012-12-31 21:39:52.656: [ clsdmt][1099217216]Failed to record pid for MDNSD
复制
- oraagent 或 appagent 未运行, 日志crsd.log显示:
2012-12-01 00:06:24.462: [ AGFW][1164069184] {0:2:27} Created alert : (:CRSAGF00130:) : Failed to start the agent /u01/app/grid/11.2.0/bin/appagent_oracle
复制
可能的原因:
- orarootagent 缺少执行权限
- 缺少进程相关的 .pid 文件或者这个文件的所有者/权限不对
- GRID_HOME 所有者/权限不对
解决方案:
- 和一个好的GRID_HOME比较所有者/权限,并做相应的改正,或者以root用户执行:,
# cd /crs/install # ./rootcrs.pl -unlock # ./rootcrs.pl -patch
复制
这将停止集群软件,对需要的文件的所有者/权限设置为root用户,并且重启集群软件。
2. 如果对应的 .pid 不存在, 就用touch命令创建一个具有相应所有者/权限的文件, 否则就按要求改正文件.pid的所有者/权限, 然后重启集群软件.
这里是下,所有者属于root:root 权限 644的.pid 文件列表:
./ologgerd/init/.pid ./osysmond/init/.pid ./ctss/init/.pid ./ohasd/init/.pid ./crs/init/.pid
复制
所有者属于:oinstall,权限644
./mdns/init/.pid ./evm/init/.pid ./gipc/init/.pid ./gpnp/init/.pid
复制
- 对第3种原因,请参考解决方案1
问题 5:ASM 实例未启动,ora.asm 不在线
症状:
- 命令“ps -ef | grep asm”不显示 ASM 进程
- 命令“crsctl stat res -t –init”显示:
ora.asm 1 ONLINE OFFLINE
复制
可能的原因:
- ASM spfile 损坏
- ASM discovery string不正确,因此无法发现 voting disk/OCR
- ASMlib 配置问题
- ASM实例使用不同的cluster_interconnect, 第一个节点 HAIP OFFLINE 导致第二个节点ASM实例无法启动
解决方案:
- 创建临时 pfile 以启动 ASM 实例,然后重建 spfile,请参考 Document 1095214.1 了解更多详细信息。
- 请参考 Document 1077094.1 以更正 ASM discovery string。
- 请参考 Document 1050164.1 以修正 ASMlib 配置。
- 请参考 Document 1383737.1 作为解决方案。请参考 Document 1210883.1 了解更多HAIP信息
要进一步调试 GI 启动问题,请参考 Document 1050908.1 Troubleshoot Grid Infrastructure Startup Issues.
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
565次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
494次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
465次阅读
2025-04-01 11:08:44
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
456次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
456次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
443次阅读
2025-04-22 00:20:37
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
431次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
418次阅读
2025-04-22 00:13:51
Oracle 19c RAC更换IP实战,运维必看!
szrsu
404次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
375次阅读
2025-04-17 17:02:24