CRS-2800: Cannot start resource ‘ora.orcl.db’ as it is already in the INTERMEDIATE state on server ‘host01’

PRCD-1133 : failed to start services testsrv1 for database orcl

Error: While creating a new service and starting the service getting the following error:

[oracle@host01 ~]$ srvctl start service -d orcl -service testsrv1

PRCD-1133 : failed to start services testsrv1 for database orcl
PRCR-1095 : Failed to start resources using filter ((NAME == ora.orcl.testsrv1.svc) AND (TYPE == ora.service.type))
CRS-2800: Cannot start resource 'ora.orcl.db' as it is already in the INTERMEDIATE state on server 'host01'
CRS-2632: There are no more servers to try to place resource 'ora.orcl.testsrv1.svc' on that would satisfy its placement policy

Cause: The ORCL1 instance seems halt or shutdown or mount state or restricted state.

Solution:

  1. Check the status for the orcl services from grid home with crsctl command:


[grid@host01 ~]$ crsctl stat res ora.orcl.db
NAME=ora.orcl.db
TYPE=ora.database.type
TARGET=ONLINE , ONLINE , ONLINE
STATE=INTERMEDIATE on host01, ONLINE on host02, ONLINE on host03

OR

crsctl stat res ora.orcl.db -t

[grid@host01 ~]$ crsctl stat res ora.orcl.db -t
-------------------------------------------------------------------------------
Name Target State Server State details
-------------------------------------------------------------------------------
Cluster Resources
-------------------------------------------------------------------------------
ora.orcl.db
1 ONLINE INTERMEDIATE host01 Mounted (Closed),HOME=/u01/app/oracle/pr oduct/19.3.0/dbhome_ 1,STABLE
2 ONLINE ONLINE host02 Open,HOME=/u01/app/oracle/product/19.3.0 /dbhome_1,STABLE
3 ONLINE ONLINE host03 Open,HOME=/u01/app/oracle/product/19.3.0/dbhome_1,STABLE
-------------------------------------------------------------------------------

2. Connect with the first instance and check the instance status

SQL> select instance_name, status from v$instance;


INSTANCE_NAME STATUS
---------------- ------------
orcl1 MOUNTED

3. In my case instance at mount stage ( you can use the restricted command if database is in restricted state)

--- Database in mount stage
SQL> alter database open;
Database altered.

OR
-- If in restricted mode then disable the restricted session
SQL> alter system disable restricted session;

4. Now verify the orcl service status its become online.


[grid@host01 ~]$ crsctl stat res ora.orcl.db -t

-------------------------------------------------------------------------------
Name Target State Server State details
-------------------------------------------------------------------------------
Cluster Resources
-------------------------------------------------------------------------------
ora.orcl.db
1 ONLINE ONLINE host01 Open,HOME=/u01/app/oracle/product/19.3.0/dbhome_1,STABLE
2 ONLINE ONLINE host02 Open,HOME=/u01/app/oracle/product/19.3.0/dbhome_1,STABLE
3 ONLINE ONLINE host03 Open,HOME=/u01/app/oracle/product/19.3.0/dbhome_1,STABLE
-------------------------------------------------------------------------------
[grid@host01 ~]$

5. Restart the Srvctl command to start the configured service.

[oracle@host01 ~]$ srvctl start service -d orcl -service testsrv1

PRCR-1120 : Resources are already running.
CRS-5702: Resource 'ora.orcl.testsrv1.svc' is already running on 'host01'

Leave a Reply