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导致

debian手动安装MYSQL5不能随系统自动启动??

oralce11g RAC 启动后 CRS-0184: Cannot communicate with the CRS daemon.