首页 » ORACLE 9i-23ai » CRS-4124 CRS-4000 Oracle HAS startup failed after reboot server (RHEL6)

CRS-4124 CRS-4000 Oracle HAS startup failed after reboot server (RHEL6)

Today, someone in the QQ group asked this question ,hi configured Oracle Grid Infrastructure for a Standalone Server(11.2.0.1) on RHEL 6.4,Restarting the server Oracle-HAS not starts and shows the next OHAs error:

# crsctl start has
CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.

# crsctl check has
CRS-4639: Could not contact Oracle High Availability Services

Cause
======================================
The root cause is because the Oracle Grid infrastructure 11.2.0.1 does not support REL 6,we can use the REL 6 compatible version 11.2.0.3 and higher

Solution
======================================
[grid@myrac1 ~]$ ps -ef | grep init.ohasd
grid 8203 3000 0 18:47 pts/0 00:00:00 grep init.ohasd

init.ohasd is used to control ohasd (which runs as a binary ‘ohasd.bin’).If init.ohasd is not running ohasd won’t be able to start.

cat /etc/inittab|grep init.ohasd

[grid@myrac1 has]$ cat /etc/inittab|grep init.ohasd
h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1

Manually start init.ohasd

#/etc/init.d/init.ohasd start
or
#/sbin/init q

# crsctl check has
CRS-4638: Oracle High Availability Services is online

Other ways:

In RHEL 6 inittab is no longer supported, it uses upstart insted.
See more info in page:http://searchenterpriselinux.techtarget.com/tip/RHEL-6-ditches-System-V-init-for-Upstart-What-Linux-admins-need-to-know

To solve the issue do the following:
Create the file:/etc/init/init-oracle.conf

*#start oracle*
start on runlevel [0123456]
stop on runlevel [016]

respawn
exec /etc/init.d/init.ohasd run > /dev/null 2>&1

After the file is created, reboot and Oracle should start normaly

or

Problem is indeed because of upstart/init incompatibility. Here is the working way:
1) Proceed with the installation as usual until root.sh invocation.
2) Before root.sh edit $GRID_HOME/crs/install/s_crsconfig_lib.pm, go to line 1173 (you should find a code like: if ($srv eq “ohasd”) { # Start OHASD).
3) Insert a following snippet before starting OHASD part (line 1173)

my $UPSTART_OHASD_SERVICE = "oracle-ohasd";
my $INITCTL = "/sbin/initctl";

($status, @output) = system_cmd_capture ("$INITCTL start $UPSTART_OHASD_SERVICE");
if (0 != $status)
{
error ("Failed to start $UPSTART_OHASD_SERVICE, error: $!");
return $FAILED;
}

4) Create a file /etc/init/oracle-ohasd.conf with the following content inside

# Oracle OHASD startup

start on runlevel [35]
stop on runlevel [!35]
respawn
exec /etc/init.d/init.ohasd run >/dev/null 2>&1

5) Invoke root.sh
6) Finish the installation.

If you previously ran root.sh (not successfully), simply roll it back:
$GRID_HOME/crs/install/roothas.pl -deconfig -force -verbose
Make changes above and continue.

Unsupported: 11.2.0.1/11.2.0.2 GI root.sh Fails on OL6/RHEL6 with ohasd failed to start: Inappropriate ioctl for device (Doc ID 1557677.1)

打赏

对不起,这篇文章暂时关闭评论。