Hi all!
So, I started to to see this error to stop a 12.1.0.2 CRS :
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'grepora-srv-01' CRS-2673: Attempting to stop 'ora.crsd' on 'grepora-srv-01' CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'grepora-srv-01' CRS-2679: Attempting to clean 'ora.oc4j' on 'grepora-srv-01' CRS-2680: Clean of 'ora.oc4j' on 'grepora-srv-01' failed CRS-2799: Failed to shut down resource 'ora.oc4j' on 'grepora-srv-01' CRS-2794: Shutdown of Cluster Ready Services-managed resources on 'grepora-srv-01' has failed CRS-2675: Stop of 'ora.crsd' on 'grepora-srv-01' failed CRS-2799: Failed to shut down resource 'ora.crsd' on 'grepora-srv-01' CRS-2795: Shutdown of Oracle High Availability Services-managed resources on 'grepora-srv-01' has failed CRS-4687: Shutdown command has completed with errors.
When running a crsctl stat res -t it will show something like this
ora.oc4j 1 ONLINE UNKNOWN grpora-srv-01 CLEANING
Solution? Follow The rootupgrade.sh fails because the oc4j resource fails to stop (Doc ID 1921629.1):
1) Stop the OC4J resource, as grid user:
srvctl stop oc4j -f
Note: Even if the oc4j does not stop, continue with step 2
2) Disable the OC4J resource, as grid user:
srvctl disable oc4j
3) Confirm the OC4J resource is NOT running, as grid user:
srvctl status oc4j
If the OC4J resource is still running, go to the node where oc4j is running and recycle GI by issuing the following as root:
crsctl stop crs -f crsctl start crs
Why?
oc4j is used only for Quality of Service Management (QoS feature), as per:
https://docs.oracle.com/database/121/APQOS/install_config.htm#APQOS151
http://docs.oracle.com/cd/E11882_01/server.112/e24611.pdf
Searched on MOS and only found notes saying we cannot remove default services (it is not supported). But as a DBA, in the middle of the night with environment down, this may be a solution for you, specially if you are not using QoS.
Hope it helps. Cheers!