Do you use ASM and RAC? If your answer is yes, this post is for you.
Every time you run create spfile from pfile, ASM will generate a new spfile in ASM, but the cluster does not know this file until you set the new filename using srvctl.
To fix the issue, you need to find the filename of spfile and config database in cluster to use the new filename.
error message
$ srvctl start instance -d ORCL -i ORCL1 PRCR-1013 : Failed to start resource ora.orcl.db PRCR-1064 : Failed to start resource ora.orcl.db on node node01 CRS-5017: The resource action "ora.orcl.db start" encountered the following error: ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/u01/app/oracle/product/12.2.0.1/dbhome_1/dbs/initORCL1.ora' . For details refer to "(:CLSN00107:)" in "/u01/app/oracle/diag/crs/node01/crs/trace/crsd_oraagent_oracle.trc". CRS-2674: Start of 'ora.orcl.db' on 'node01' failed
re-create spfile
SQL> startup mount pfile='//init_orcl.ora'; SQL> create spfile from pfile='/init_orcl.ora';
check the full path of the new spfile in asm disk group
$ asmcmd -p ASMCMD> cd datac1/orcl/parameterfile/ ASMCMD [+datac1/orcl/parameterfile] > ls -l Type Redund Striped Time Sys Name PARAMETERFILE MIRROR COARSE JAN 30 12:00:00 Y spfile.7909.966773931 PARAMETERFILE MIRROR COARSE JAN 30 13:00:00 Y spfile.7910.966777041
config database using new spfile
-- assign new spfile to database $ srvctl modify database -d ORCL -p +DATAC1/ORCL/PARAMETERFILE/spfile.7910.966777041 -- verify $ srvctl config database -d ORCL -- restart database $ srvctl start database -d ORCL
If you still get error, please post your commands and outputs in the comments.