Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

How to 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.

Comments

Popular posts from this blog

PostgreSQL pgBadger

PostgreSQL Pgbadger Installation On Linux

How to configure Replication Manager (repmgr) ?

What's is the difference between streaming replication Vs hot standby vs warm standby ?

Script to kill ALL IDLE Connection In postgreSQL