CRS无法随操作系统自动启动
Posted missyou-shiyh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CRS无法随操作系统自动启动相关的知识,希望对你有一定的参考价值。
1、环境说明
一套RedHat7.5上安装的11.2.0.4 RAC,进行正常的系统维护,重启主机后发现GI集群一直无法启动。
?
2、问题分析
(1)、查看GI集群的OHASD进程的日志,发现操作系统重启后没有任何的日志输出。
(2)、查看OHASD进程,发现只有init.ohasd run进程,而ohasd.bin reboot进程没有起来。
[[email protected] system]# ps -ef |grep ohasd root 3075 1 0 Apr23 ? 00:00:00 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple root 133358 111218 0 16:47 pts/1 00:00:00 grep --color=auto ohasd [[email protected] system]# |
(3)、查看CRS是否配置为enable。
[[email protected] system]# crsctl config crs CRS-4622: Oracle High Availability Services autostart is enabled. [[email protected] system]# ? [[email protected] root]# more ohasdstr enable [[email protected] root]# more crsstart enable [[email protected] root]# more ohasdrun restart [[email protected] root]# |
(4)、查看/etc/systemd/system目录下是否存在ohasd.service服务,发现已经存在ohasd.service服务,内容如下所示。
[Unit] Description=Oracle High Availability Services After=syslog.target ? [Service] ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple Restart=always ? [Install] WantedBy=multi-user.target |
(5)、问题似乎无解了,我们知道在Linux 7环境中安装11.2.0.4 RAC时,存在一个著名的问题,需要在运行root.sh之前安装一个patch(18370031),否则root.sh脚本会失败。询问当初安装该RAC集群的同事,得知该环境中没有安装patch(18370031),而只是执行了一个workaround(在/etc/systemd/system目录下创建ohasd.service服务),该workaround可以解决root.sh脚本执行失败的问题。
(6)、至此,我非常怀疑是该workaround仍然存在某些缺陷,最终,在MOS库中搜索到解决方案,该workaround的确存在缺陷,它可以解决root.sh脚本执行失败的问题,但在有些情况下,有可能存在CRS无法随操作系统自动启动,ohasd.bin reboot进程无法启动的问题。
(7)、最终的解决办法是在/etc/systemd/system目录下另外创建一个名为autohas.service服务,内容如下所示:
[Unit] Description=Auto Oracle High Availability Services After=syslog.target ? [Service] ExecStart=/etc/init.d/ohasd start >/dev/null 2>&1 Type=forking ? [Install] WantedBy=multi-user.target |
?
[[email protected] system]# systemctl daemon-reload [[email protected] system]# systemctl enable autohas.service Created symlink from /etc/systemd/system/multi-user.target.wants/autohas.service to /etc/systemd/system/autohas.service. [[email protected] system]# systemctl start autohas.service [[email protected] system]# |
?
3、建议
在Linux 7环境中安装11.2.0.4 RAC时,建议还是安装patch(18370031)的方式来处理root.sh脚本执行失败的问题,而不要使用workaround。
?
以上是关于CRS无法随操作系统自动启动的主要内容,如果未能解决你的问题,请参考以下文章
系统突然断电重启导致rac节点无法启动,crs-4000错误
Oracle Rac CRS 无法启动的解决办法 CRS-4563 CRS-4000
crsctl start crs实例无法自动启动, 因为AUTO_START=restore导致
oralce11g RAC 启动后 CRS-0184: Cannot communicate with the CRS daemon.