Thursday, January 19, 2023

Oracle Database 18c -- SRVCTL Fails with PRCD-1163 Failed to modify database

Problem

When trying to modify database configuration in Oracle Restart setup, srvctl failes with the errors below:

$ srvctl modify database -d $ORACLE_UNQNAME -oraclehome <new_oracle_home>
PRCD-1163 : Failed to modify database svfe_stdby
PRCR-1071 : Failed to register or update resource ora.svfe_stdby.db
CRS-0245:  User doesn't have enough privilege to perform the operation

Solution

Check the privileges on the CRS resource, in this case the database:

# crsctl status resource ora.<db_unique_name>.db -p -attr ACL
NAME=ora.<db_unique_name>.db
ACL=owner:grid:rwx,pgrp:oinstall:r--,other::r--,group:dba:r-x,group:oper:r-x,group:racdba:r-x,user:grid:r-x

At the same time, Oracle Database home is owned by OS oracle user, and as seen from the above output, does not have permissions on the database resource

Fix with:

# crsctl modify resource ora.<db_unique_name>.db -attr "ACL='owner:grid:rwx,pgrp:oinstall:r--,other::r--,group:dba:r-x,group:oper:r-x,group:racdba:r-x,user:oracle:rwx'" -unsupported


No comments: