现象:oracle11g rac重启系统后。crs启动报错
[root@rac1 ~]# crsctl start crs CRS-4124: Oracle High Availability Services startup failed. CRS-4000: Command Start failed, or completed with errors.
解决:(网上有很多解决方案)
[root@rac1 ~]# find / -name init.ohasd /etc/rc.d/init.d/init.ohasd /u01/app/11.2.0/grid/crs/init/init.ohasd /u01/app/11.2.0/grid/crs/utl/init.ohasd
[root@rac1 ~]# cd /etc/rc.d/init.d/ [root@rac1 init.d]# nohup ./init.ohasd run & [1] 3360 [root@rac1 init.d]# nohup: ignoring input and appending output to ‘nohup.out’ [root@rac1 init.d]#
[root@rac1 init.d]# crsctl check has CRS-4638: Oracle High Availability Services is online [root@rac1 init.d]# crsctl check crs CRS-4638: Oracle High Availability Services is online CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online
可以看到服务已经启动。 思考一下,将nohup /etc/rc.d/init.d/init.ohasd run & 添加到开机启动。
[root@rac1 rc.d]# pwd /etc/rc.d [root@rac1 rc.d]# vi rc.local [root@rac1 rc.d]# chmod 744 rc.local [root@rac1 rc.d]# cat rc.local #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. touch /var/lock/subsys/local nohup /etc/rc.d/init.d/init.ohasd run & [root@rac1 rc.d]# ll total 4 drwxr-xr-x. 2 root root 136 Jan 26 09:23 init.d drwxr-xr-x. 2 root root 61 Sep 15 11:26 rc0.d drwxr-xr-x. 2 root root 61 Sep 15 11:26 rc1.d drwxr-xr-x. 2 root root 61 Sep 15 11:26 rc2.d drwxr-xr-x. 2 root root 61 Sep 15 11:26 rc3.d drwxr-xr-x. 2 root root 61 Sep 15 11:26 rc4.d drwxr-xr-x. 2 root root 61 Sep 15 11:26 rc5.d drwxr-xr-x. 2 root root 61 Sep 15 11:26 rc6.d -rwxr--r-- 1 root root 514 Jan 26 09:59 rc.local [root@rac1 rc.d]#
关闭集群服务,再重启主机,看ohasd服务能否启动。我将rac1 crs服务disable 将rac2 crs服务enable,重启rac俩节点操作系统后
[root@rac1 ~]# ps -ef |grep ohasd root 1125 1 0 10:15 ? 00:00:00 /bin/sh /etc/rc.d/init.d/init.ohasd run root 2563 2305 0 10:18 pts/0 00:00:00 grep --color=auto ohasd [root@rac1 ~]# crsctl check has CRS-4639: Could not contact Oracle High Availability Services [root@rac1 ~]# crsctl start crs CRS-4123: Oracle High Availability Services has been started. [root@rac1 ~]#
节点1手动启动crs也不会报错了,节点2会自动启动crs。
