Skip to content
Home » Oracle Database » How to Resolve CRS-2501: Resource is disabled

How to Resolve CRS-2501: Resource is disabled

CRS-2501

CRS-2501 means that the resource you want to manipulate is in the disabled mode, you should make sure its status before enabling it.

Let's see some types of resource.

1. Database

When we tried to startup a disabled database, we got the error.

[oracle@primary01 ~]$ srvctl start database -d orclcdb
PRCR-1079 : Failed to start resource ora.orclcdb.db
CRS-2501: Resource 'ora.orclcdb.db' is disabled

Database is a resource which the most commonly needs to be disabled for maintenance.

2. Resources Beside Database

Resources could be varying in types, here we take a SCAN VIP as an example and tried to start it.

[oracle@primary01 ~]$ srvctl start scan -i 2
PRCR-1079 : Failed to start resource ora.scan2.vip
CRS-2501: Resource 'ora.scan2.vip' is disabled

We got CRS-2501 again.

Solutions

We'll talk about the solutions according to their types as below.

1. Database

First, we need to know who is the owner of the resource before enabling it again.

[grid@primary01 ~]$ crsctl status resource ora.orclcdb.db -p -attr ACL
NAME=ora.orclcdb.db
ACL=owner:oracle:rwx,pgrp:oinstall:r--,other::r--,group:dba:r-x,group:oper:r-x,group:racdba:r-x,user:grid:r-x

Since the owner of database resource is oracle, we should use oracle to make the database enabled.

[oracle@primary01 ~]$ srvctl enable database -d orclcdb

Then we make sure that the resource is enabled.

[grid@primary01 ~]$ crsctl status resource ora.orclcdb.db -p -attr ENABLED
NAME=ora.orclcdb.db
ENABLED=1

1 means enabled, while 0 means disabled. The database is ready for startup.

[oracle@primary01 ~]$ srvctl start database -d orclcdb
[oracle@primary01 ~]$ srvctl status database -d orclcdb
Instance ORCLCDB1 is running on node primary01
Instance ORCLCDB2 is running on node primary02

To disable it again, you may use srvctl disable database to put the database in maintenance mode.

2. Resources Beside Database

First, we need to know who is the owner of the resource before enabling it again.

[grid@primary01 ~]$ crsctl status resource ora.scan2.vip -p -attr ACL NAME=ora.scan2.vip ACL=owner:root:rwx,pgrp:root:r-x,other::r--,group:oinstall:r-x,user:grid:r-x

Since the owner of resource is root, we should use root to make the resource enabled.

[root@primary01 ~]# . /home/grid/.bash_profile
[root@primary01 ~]# srvctl enable scan -i 2
[root@primary01 ~]# crsctl status resource ora.scan2.vip -p -attr ENABLED
NAME=ora.scan2.vip
ENABLED=1

To start SCAN VIP, user oracle has the right to execute it.

[oracle@primary01 ~]$ srvctl start scan -i 2
[oracle@primary01 ~]$ srvctl status scan -i 2
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node primary01

Leave a Reply

Your email address will not be published. Required fields are marked *