I recently encountered a procedure that stated:


At that point I stopped for a second to wonder if the second parameter was required… It seems logical that if the database is not in a cluster then you wouldn’t need to tell Oracle how many database are in the cluster…

I didn’t have opportunity to test it at the time, but a SEV 1 a few days later put me in a position of attempting to start a RAC database in single instance mode and give me the perfect chance to find out…

The database in question was running on, but showed the same behaviour as the output below (generated on version

19:05:33 SYS@erac1> show parameter cluster

------------------------------------ ----------- ------------------------------
cluster_database		     boolean	 TRUE
cluster_database_instances	     integer	 2
cluster_interconnects		     string

19:05:42 SYS@erac1> alter system set cluster_database = false scope = spfile;

System altered.

Elapsed: 00:00:00.12

19:06:03 SYS@erac1> startup force
ORACLE instance started.

Total System Global Area  509411328 bytes
Fixed Size		    2161152 bytes
Variable Size		  322962944 bytes
Database Buffers	  180355072 bytes
Redo Buffers		    3932160 bytes
Database mounted.
Database opened.

19:08:44 SYS@erac1> show parameter cluster

------------------------------------ ----------- ------------------------------
cluster_database		     boolean	 FALSE
cluster_database_instances	     integer	 1
cluster_interconnects		     string
19:09:00 SYS@erac1>

I’d learnt something new and as the rest of the team was surprised by the behaviour it seems something worth sharing… I’m all for removing redundant commands.