What do I do when Oracle Grid Cluster Services (CRS) won't start as system file permissions have been lost

What do I do when Oracle Grid Cluster Services (CRS) won't start as system file permissions have been lost
What do I do when Oracle Grid Cluster Services (CRS) won't start as system file permissions have been lost

In this article we will see what to do when one of the Oracle Cluster servers/nodes shows an error and the Cluster Services (CRS) do not start.

The symptom

When we go to start Cluster Services (CRS):

su root

crsctl start crs

It gives us the following error and won't boot:

CRS-4563: Insufficient user privileges.
CRS-4000: Command Start failed, or completed with errors.

If we go to GRID_HOME installed we see that all files have the same owner and permissions, which doesn't seem right:

cd $GRID_HOME

ls -ltr
What do I do when Oracle Grid Cluster Services (CRS) won't start as system file permissions have been lost
01

If we go and run it cluvfy (with the oracle or grid user) to check the installation:

su oracle
cd $GRID_HOME/bin

./cluvfy comp software -n all -verbose

We will see that too many files have wrong permissions:

What do I do when Oracle Grid Cluster Services (CRS) won't start as system file permissions have been lost
02

How is the problem made?

First we check if any Cluster service (CRS) is up:

su root
cd $GRID_HOME/bin

./crsctl check crs

If we see that something is still running, stop CRS:

./crsctl stop crs

If we have a Cluster with Grid Infrastructure 12c and then run the following as root user:

su root
cd $GRID_HOME/crs/install

./rootcrs.sh -init

If we have Standalone Grid Infrastructure 12c and then run the following as root user:

su root
cd $GRID_HOME/crs/install

./roothas.sh -init

If we have a Cluster with Grid Infrastructure up to 11.2 we run the following with root user:

su root
cd $GRID_HOME/crs/install

./rootcrs.pl -init

If we have Standalone Grid Infrastructure up to 11.2 we run the following with root user:

su root
cd $GRID_HOME/crs/install

./roothas.pl  -init

After the execution is complete, we check the permissions again:

cd $GRID_HOME/bin

ls -ltr
What do I do when Oracle Grid Cluster Services (CRS) won't start as system file permissions have been lost
03

Now the permissions seem to have changed so we can try to bring up the Cluster (CRS):

crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

And after some time we can test if all the resources are up:

crsctl status resource -t
What do I do when Oracle Grid Cluster Services (CRS) won't start as system file permissions have been lost
04

If the database resource is not up, run the following with the oracle user:

su oracle

srvctl start database -d dbname

Sources:

Share it

Leave a reply