Redaht7/Oracle Linux7 + ORA11g : ohasd fails to start(Doc ID 1959008.1)

APPLIES TO:

Oracle Database - Standard Edition - Version 11.2.0.4 to 12.1.0.1 [Release 11.2 to 12.1]
Oracle Database - Enterprise Edition - Version 11.2.0.4 to 11.2.0.4 [Release 11.2]
Linux x86-64

SYMPTOMS:

Grid 11.2.0.4 Install fails when running root.sh on OL7, this affects both Oracle Clusterware and Oracle Restart Installation.

rootcrs.log/roothas.log confirms that ohasd/crsd failed to start

eg. // roothas*log shows :

2017-03-23 11:47:19: SYSTEMD: Copying /grid12c/app/12.1.0/grid/crs/install/oracle-ohasd.service to /etc/systemd/system/oracle-ohasd.service
2017-03-23 11:47:19: Executing cmd: /usr/bin/systemctl daemon-reload
2017-03-23 11:47:22: Command output:
> Failed to execute operation: No buffer space available
>End Command output
2017-03-23 11:47:22: failed to reload systemd for scanning for changed units
2017-03-23 11:47:22: Executing cmd: /grid12c/app/12.1.0/grid/bin/clsecho -p has -f clsrsc -m 213 "oracle-ohasd.service" "25"
2017-03-23 11:47:22: Command output:
> CLSRSC-213: Failure in reading file 'oracle-ohasd.service' (error: 25)
>End Command output
2017-03-23 11:47:22: Executing cmd: /grid12c/app/12.1.0/grid/bin/clsecho -p has -f clsrsc -m 213 "oracle-ohasd.service" "25"
2017-03-23 11:47:22: Command output:
> CLSRSC-213: Failure in reading file 'oracle-ohasd.service' (error: 25)
>End Command output
2017-03-23 11:47:22: CLSRSC-213: Failure in reading file 'oracle-ohasd.service' (error: 25)
2017-03-23 11:47:22: Failed to start service 'ohasd'
2017-03-23 11:47:22: Executing cmd: /grid12c/app/12.1.0/grid/bin/clsecho -p has -f clsrsc -m 318
2017-03-23 11:47:22: Command output:
> CLSRSC-318: Failed to start Oracle OHASD service
>End Command output
2017-03-23 11:47:22: Executing cmd: /grid12c/app/12.1.0/grid/bin/clsecho -p has -f clsrsc -m 318
2017-03-23 11:47:22: Command output:
> CLSRSC-318: Failed to start Oracle OHASD service
>End Command output
2017-03-23 11:47:22: CLSRSC-318: Failed to start Oracle OHASD service

CAUSE:

There is a known issue where OL7 expects to use systemd rather than initd for running processes and restarting them and root.sh does not handle this currently.

This was reported in the following Unpublished Bug
 
      Bug 18370031  - RC SCRIPTS (/ETC/RC.D/RC.* , /ETC/INIT.D/* ) ON OL7 FOR CLUSTERWARE
 

SOLUTION:

Because Oracle Linux 7 (and Redhat 7) use systemd rather than initd for starting/restarting processes and runs them as a service the current software install of both 11.2.0.4 & 12.1.0.1 will not succeed because the ohasd process does not start properly.

In OL7 it needs to be set up as a service so the following step is required BEFORE you run root.sh when prompted

1. As ROOT user

cd /etc/systemd/system/
touch ohasd.service

n.b. this should create a file called ohasd.service

2. Edit the file ohasd.service and add the following text

[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

3. Run the following commands (as root):

systemctl daemon-reload
systemctl enable ohasd.service
systemctl start ohasd.service

4. Now run root.sh from the Grid $OH and it should succeed

Alternatively you can refer the below solution:

============================

Please apply the  patch 18370031 for 11.2.0.4 is available

And also its mentioned in 11gR2 Release Notes:https://docs.oracle.com/cd/E11882_01/relnotes.112/e23558/toc.htm#CJAJEBGG
During the Oracle Grid Infrastructure installation, you must apply patch 18370031 before configuring the software that is installed.
The timing of applying the patch is important and is described in detail in the Note 1951613.1 on My Oracle Support. This patch ensures that
the clusterware stack is configured to use systemd for clusterware processes, as Oracle Linux 7 uses systemd for all services.

原文地址:https://www.cnblogs.com/zx3212/p/7017641.html