Recently we faced an issue in starting our 2 Node RAC database.

We were getting the below error :

[oracle@racnode1 Desktop]$ srvctl start database -d infra

PRCR-1079 : Failed to start resource ora.infra.db

ORA-01078: failure in processing system parameters

CRS-2674: Start of ‘ora.infra.db’ on ‘racnode1’ failed

CRS-2632: There are no more servers to try to place resource ‘ora.infra.db’ on that would satisfy its placement policy

ORA-01078: failure in processing system parameters

CRS-2674: Start of ‘ora.infra.db’ on ‘racnode2’ failed

 

Here, I changed one of the Dynamic parameter (remote listener), but somehow one of the instances SPFILE was pointing to ASM while the other was pointing to Local file system, and the instances weren’t able to come up

There are several ways to fix this problem, this is my approach.

First let’s find out where the SPFILE is located.

You can create a PFILE from the SPFILE or you can also make a PFILE after reading the details from your alert log.

[oracle@racnode1 trace]$ srvctl config database -d infra

Database unique name: infra

Database name: infra

Oracle home: /u002/oracle/product/11.2.0/dbhome_1

Oracle user: oracle

Spfile: +DATA/infra/spfile.ora

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: infra

Database instances: infra1,infra2

Disk Groups: DATA

Services:

Database is administrator managed

 

Next, let’s copy that SPFILE out of ASM so that we can fix it. You can also make a pfile by taking the details from alert log

ASMCMD> pwd

+DATA/infra/spfile.ora

ASMCMD> ls

spfile.ora

ASMCMD> cp spfile.ora /tmp/sptemp.ora

copying +DATA/infra/spfile.ora -> /tmp/sptemp.ora

 

Create pfile from spfile

[oracle@racnode1 dbs]$ strings /tmp/sptemp.ora > initdbinfra.ora

Now we need to delete the damaged SPFILE in ASM:

ASMCMD> rm spfile.ora

Now start the instance using pfile and create a spfile

 

SQL> startup pfile=’/u002/oracle/product/12.2.0.1/dbhome_1/dbs/initdbinfra.ora

SQL> create spfile from pfile=’/u002/oracle/product/12.2.0.1/dbhome_1/dbs/initdbinfra.ora’;

 

Now Shutdown the instance and check in ASM whether the spfile has been created or not

 

ASMCMD> ls +DATA/infra/PARAMETERFILE

spfile.273.1060887581

 

Since we create a new SPFILE in ASM, we need to update the location of the SPFILE in the database repository:

[oracle@racnode1 dbs]$ srvctl modify database –d infra –p ‘+DATA/infra/PARAMETERFILE/spfile.273.1060887581’;

 

Make sure to delete any spfiles present in your local dbs directory, as the instance would first search for the spfile in the dbs directory

Then start the database

[oracle@racnode1 Desktop]$ srvctl start database -d infra

Now the database would start fine and you can see the spfile present in ASM for both the nodes

For more posts regarding Oracle 19c RAC, please click on the links below

Installation of ORACLE 19c RAC Servers using Virtual Box 

Installation of 19c Grid and RAC database using Virtual Box

Change SCAN Name in Oracle 19c 

19c Grid Patch from 19.3 to 19.5