Objective:
This document describes the standard procedure for restoring an Oracle database backup using Druva Oracle DTC to a single node of a RAC cluster and then converting it into a fully functional, two-node RAC database using shared storage (ASM) for all critical files.
Prerequisites
A functional two-node Oracle RAC cluster with Grid Infrastructure installed and running.
Oracle Database software (same version as the backup) installed on both nodes.
Shared ASM disk groups created, mounted, and available on both nodes.
Same or higher version of Druva Oracle DTC agent on target node.
Phase 1: Initial Database Restore to a Single Node
Objective:
Restore the database using Druva Oracle DTC to one node of the cluster and bring it up as a single-instance database. This simplifies the initial recovery before RAC conversion.
Perform the Restore:
Use the Druva Oracle DTC console to restore the database to one node of the RAC cluster.
Restore Target: Restore all database files directly to an ASM disk group (e.g., +DATA).Set Restore Parameters:
In the Druva DTC restore configuration, define the following parameters for the initial single-instance recovery:
control_files=+DATA/dbname/controlfile/control01.ctl
DB_BLOCK_SIZE=16384
db_create_file_dest=+DATA
db_create_online_log_dest_1=+REDO
db_create_online_log_dest_2=+FRA
cluster_database=FALSE
sga_target=4294967296
pga_aggregate_target=2147483648
processes=300
undo_management=AUTO
Note: Setting cluster_database=FALSE is required for the single-instance phase.
Best Practice for Control File Path:
The control_files parameter is critical. If it references the source database name (e.g., dbsourcename), it will require relocation later.
Proactive Tip:
Modify this parameter before starting the restore to use the new target database name (e.g., dbdestination).
Before (causes mismatch):
control_files=+DATA/dbsourcename/controlfile/control01.ctlAfter (recommended):
control_files=+DATA/dbdestination/controlfile/control01.ctlThis ensures the control file is created in its correct final location.
Open the Database:
Once the restore completes successfully through Druva DTC, open the database in read-write mode on the single node.
Phase 2: Prepare for RAC Conversion
Objective:
Create a PFILE for RAC configuration and define the parameters required for a two-node RAC setup.
Create a Temporary PFILE:
Connect to the restored single-instance database and create a PFILE from its current SPFILE.
export ORACLE_SID=<DB_NAME>1 # e.g., MESTEST1sqlplus / as sysdbaSQL> CREATE PFILE='/tmp/init<DB_NAME>_rac.ora' FROM SPFILE;Shut Down the Database:
SQL> SHUTDOWN IMMEDIATE;Edit the PFILE for RAC:
Edit /tmp/init<DB_NAME>_rac.ora and update it with parameters suitable for a two-node RAC configuration. Replace placeholders (<>) with actual values.
RAC PFILE Template:*.db_name='<DB_NAME>'
*.db_unique_name='<DB_NAME>'
*.cluster_database=true
*.control_files='+<DATA_DISKGROUP>/<DB_NAME>/CONTROLFILE/control01.ctl'
# ... additional parameters as needed ...
<INSTANCE_NAME_1>.instance_number=1
<INSTANCE_NAME_1>.thread=1
<INSTANCE_NAME_1>.undo_tablespace='UNDOTBS1'
<INSTANCE_NAME_2>.instance_number=2
<INSTANCE_NAME_2>.thread=2
<INSTANCE_NAME_2>.undo_tablespace='UNDOTBS2'
Phase 3: Configure Shared Files in ASM
Objective:
Create the shared SPFILE and password file in ASM for RAC configuration.
Move or Verify Control File:
If the control file path was not updated earlier, move it to the correct directory:
asmcmd
ASMCMD> mkdir +<DATA_DISKGROUP>/<DB_NAME>
ASMCMD> mkdir +<DATA_DISKGROUP>/<DB_NAME>/CONTROLFILE
ASMCMD> mv +<DATA_DISKGROUP>/<SOURCE_DB_NAME>/CONTROLFILE/control01.ctl +<DATA_DISKGROUP>/<DB_NAME>/CONTROLFILE/control01.ctl
ASMCMD> exitIf the proactive step was done in Phase 1, you can skip this move.
Create the Shared SPFILE:
export ORACLE_SID=<INSTANCE_NAME_1>
sqlplus / as sysdba
SQL> STARTUP NOMOUNT PFILE='/tmp/init<DB_NAME>_rac.ora';
SQL> CREATE SPFILE='+<DATA_DISKGROUP>/<DB_NAME>/PARAMETERFILE/spfile<DB_NAME>.ora' FROM PFILE='/tmp/init<DB_NAME>_rac.ora';
SQL> SHUTDOWN ABORT;Create the Shared Password File:
asmcmd mkdir +<DATA_DISKGROUP>/<DB_NAME>/PASSWORD
orapwd file='+<DATA_DISKGROUP>/<DB_NAME>/PASSWORD/pwd<DB_NAME>' password='<YourSecurePassword>' format=12.2 entries=20 asm=y
Phase 4: Register with Clusterware and Go Live
Objective:
Register the database with Oracle Clusterware and start it as a two-node RAC database.
Register the Database:
srvctl add database -db <DB_NAME> -oraclehome <ORACLE_HOME> \
-spfile '+<DATA_DISKGROUP>/<DB_NAME>/PARAMETERFILE/spfile<DB_NAME>.ora' \
-pwfile '+<DATA_DISKGROUP>/<DB_NAME>/PASSWORD/pwd<DB_NAME>'Add the Instances:
srvctl add instance -db <DB_NAME> -instance <INSTANCE_NAME_1> -node <NODE_NAME_1>
srvctl add instance -db <DB_NAME> -instance <INSTANCE_NAME_2> -node <NODE_NAME_2>Verify Configuration:
srvctl config database -d <DB_NAME>Start and Verify RAC Database:
srvctl start database -d <DB_NAME>srvctl status database -d <DB_NAME>
✅ Summary
This procedure ensures that a database backed up via Druva Oracle DTC can be successfully restored to a single node and then converted into a fully functional two-node RAC database using ASM storage, maintaining integrity and availability for clustered environments.
