Oracle 8i | Oracle 9i | Oracle 10g | Oracle 11g | Oracle 12c | Miscellaneous | PL/SQL | SQL | Oracle RAC | Oracle Apps | Linux

Delete an Instance from an Oracle RAC Database

This article demonstrates how to delete an instance from an Oracle RAC database using the DBCA utility. The examples use a 2-node RAC installation with the following setup.

Oracle Version : 11.2.0.3.0
Database       : RAC
Instances      : RAC1, RAC2
Nodes          : ol5-112-rac1, ol5-112-rac2

Interactive Mode

On a node you want to keep, in this case "ol5-112-rac1", start the DBCA utility.

$ dbca

Select the "Oracle Real Application Cluster (RAC) database" option and click the "Next" button.

DBA - Welcome

Select the "Instance Management" option and click the "Next" button.

DBA - Operation

Select the "Delete an instance" option and click the "Next" button.

DBA - Instance Management

Make sure the appropriate cluster database is selected, enter the credentials for a user with SYSDBA privilege and click the "Next" button.

DBA - Cluster Database Selection

Select the instance to delete and click the "Next" button.

DBA - Instance Selection

You are presented with a similar screen again, but it now also has a "Finish" button. Click the "Finish" button.

DBA - Instance Selection

Click the "OK" button on the confirmation dialog.

DBA - Confirmation

Wait while the instance is deleted.

DBA - Processing

When asked if you want to perform another operation, click the "No" button to exit from the DBCA.

DBA - Another Operation

Silent Mode

We could have achieved the same result using the DBCA in silent mode with the following command.

$ dbca -silent -deleteInstance -nodeList ol5-112-rac2 -gdbName RAC -instanceName RAC2 -sysDBAUserName sys -sysDBAPassword myPassword

Deleting instance
20% complete
21% complete
22% complete
26% complete
33% complete
40% complete
46% complete
53% complete
60% complete
66% complete
Completing instance management.
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/RAC.log" for further details.
$

Post-Delete Checks

Check the redo thread associated with the deleted node has been disabled. In this case we deleted the instance "RAC2" which was thread 2.

SQL> select distinct thread# from v$log;

   THREAD#
----------
	 1

SQL>

If the thread associated with the deleted instance hans't been disabled, do it manually.

SQL> ALTER DATABASE DISABLE THREAD 2;

Check the instance information has been deleted from the OCR.

$ srvctl config database -d RAC
Database unique name: RAC
Database name: RAC
Oracle home: /u01/app/oracle/product/11.2.0/db_1
Oracle user: oracle
Spfile: +DATA/RAC/spfileRAC.ora
Domain: localdomain
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: RAC
Database instances: RAC1
Disk Groups: DATA
Mount point paths: 
Services: BATCH_SERVICE,OLTP_SERVICE
Type: RAC
Database is administrator managed
[oracle@ol5-112-rac1 ~]$

Remember to edit any service definitions that related to the deleted node.

For more information see:

Hope this helps. Regards Tim...

Back to the Top.