While doing database upgrade from 11.2.0.3 to 11.2.0.4 on a 2 node RAC instance.After Installation of 11.2.0.4 software and connecting sqlplus in the new environment, Got the below error when trying to startup the database in upgrade mode,
SQL> startup upgrade
ORACLE instance started.
Total System Global Area 1.3262E+11 bytes
Fixed Size 2304584 bytes
Variable Size 2.2481E+10 bytes
Database Buffers 1.1006E+11 bytes
Redo Buffers 74080256 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-39701: database must be mounted EXCLUSIVE for UPGRADE or DOWNGRADE
Process ID: 29206
Session ID: 2002 Serial number: 3
SOLUTION
==========
I observed from the initialization parameter file, the below values are set for cluster parameters
cluster_database = TRUE
cluster_database_instances= 2
We need to set the value of cluster_database to FALSE using the below command
SQL> alter system set cluster_database=FALSE scope=spfile sid='*' ;
Reboot the Database for the changes to be effective.
Now you will see that value of cluster_database_instances parameter is automatically changed to 1,after setting cluster_database to FALSE.
Now, the database can be started in upgrade mode without any errors.
Revert back the parameter cluster_database to TRUE, after the upgrade is completed.
The following command can be used to set cluster_database to TRUE
SQL> alter system set cluster_database=TRUE scope=spfile sid='*' ;
Restart the database.
SQL> startup upgrade
ORACLE instance started.
Total System Global Area 1.3262E+11 bytes
Fixed Size 2304584 bytes
Variable Size 2.2481E+10 bytes
Database Buffers 1.1006E+11 bytes
Redo Buffers 74080256 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-39701: database must be mounted EXCLUSIVE for UPGRADE or DOWNGRADE
Process ID: 29206
Session ID: 2002 Serial number: 3
SOLUTION
==========
I observed from the initialization parameter file, the below values are set for cluster parameters
cluster_database = TRUE
cluster_database_instances= 2
We need to set the value of cluster_database to FALSE using the below command
SQL> alter system set cluster_database=FALSE scope=spfile sid='*' ;
Reboot the Database for the changes to be effective.
Now you will see that value of cluster_database_instances parameter is automatically changed to 1,after setting cluster_database to FALSE.
Now, the database can be started in upgrade mode without any errors.
Revert back the parameter cluster_database to TRUE, after the upgrade is completed.
The following command can be used to set cluster_database to TRUE
SQL> alter system set cluster_database=TRUE scope=spfile sid='*' ;
Restart the database.