Photo by Anete Lūsiņa on Unsplash
CRS-2566: User 'oracle' does not have sufficient permissions to operate on resource 'ora.data.voldata01.acfs'
A la hora de registrar una BBDD SEHA nos encontramos con el error descrito:
[oracle@oracle02 ~]$ srvctl modify database -db dbpro -acfspath "/dbvolumenes/data01,/dbvolumenes/redo01,/dbvolumenes/redo02" -node oracle01,oracle02
PRCD-1163 : Fallo al modificar la base de datos dbpro
PRCR-1071 : Fallo al registrar o actualizar resource ora.dbpro.db
CRS-2566: User 'oracle' does not have sufficient permissions to operate on resource 'ora.data.voldata01.acfs', which is part of the dependency specification.
Revisamos los permisos, donde vemos que efectivamente el usuario no tiene los permisos necesarios sobre uno de los volúmenes (voldata01):
[grid@oracle02 ~]$ crsctl stat res ora.data.voldata01.acfs -p -attr ACL
NAME=ora.data.voldata01.acfs
ACL=owner:root:rwx,pgrp:root:r-x,other::r--,user:grid:r-x
Intentamos modificarlos, viendo que incurrimos en error.
En la documentación de Oracle 19c es un comando deprecated.
[root@oracle02 ~]# $ORACLE_HOME/bin/crsctl setperm resource ora.data.voldata01.acfs -u user:oracle:r-x
CRS-4995: The command 'Setperm resource' is invalid in crsctl. Use srvctl for this command.
Nos preparamos una infusión relajante, esperamos a que enfríe y nos la tomamos. A continuación modificamos valiéndonos de la opción unsupported.
[root@oracle02 ~]# $ORACLE_HOME/bin/crsctl setperm resource ora.data.voldata01.acfs -u user:oracle:r-x -unsupported
Una vez realizado comprobamos que los permisos son los deseados
[grid@oracle02 ~]# $ORACLE_HOME/bin/crsctl stat res ora.data.voldata01.acfs -p -attr ACL
NAME=ora.data.voldata01.acfs
ACL=owner:root:rwx,pgrp:root:r-x,other::r--,user:grid:r-x,user:oracle:r-x
[grid@oracle02 ~]$ crsctl stat res ora.redo1.volredo01.acfs -p -attr ACL
NAME=ora.redo1.volredo01.acfs
ACL=owner:root:rwx,pgrp:root:r-x,other::r--,user:grid:r-x,user:oracle:r-x
[grid@oracle02 ~]$ crsctl stat res ora.redo2.volredo02.acfs -p -attr ACL
NAME=ora.redo2.volredo02.acfs
ACL=owner:root:rwx,pgrp:root:r-x,other::r--,user:grid:r-x,user:oracle:r-x
[root@oracle02 ~]# $ORACLE_HOME/bin/srvctl config filesystem
Dispositivo del volumen: /dev/asm/voldata01-45
Nombre de Grupo de Discos: data
Nombre de Volumen: voldata01
Dispositivo de volumen canónico: /dev/asm/voldata01-45
Dispositivos de volumen de acelerador:
Ruta de acceso de punto de montaje: /dbvolumenes/data01
Propietario del punto de montaje: oracle
Grupo del punto de montaje: oinstall
Permisos de montaje: owner:oracle:rwx,pgrp:oinstall:rwx,other::---
Usuarios de montaje:
Tipo: ACFS
Opciones de montaje:
Descripción:
Nodos: oracle02
Pools de servidores: *
ID de aplicación:
El sistema de archivos ACFS está activado
El sistema de archivos de ACFS está activado individualmente en los nodos:
El sistema de archivos de ACFS está desactivado individualmente en los nodos:
Y procedemos a registrar nuestra base de datos:
[oracle@oracle02 spfile]$ srvctl add database -db dbpro -oraclehome /u01/app/oracle/product/19.0.0/dbhome_1 -dbtype SINGLE -spfile /dbvolumenes/data01/DBPRO/spfile/spfiledbpro.ora -node oracle02
[oracle@oracle02 spfile]$ srvctl modify database -db dbpro -acfspath "/dbvolumenes/data01,/dbvolumenes/redo01,/dbvolumenes/redo02" -node oracle01 ,oracle02