Oracle Database: ACTIVE Database DUPLICATION using RMAN

2 min read 17 days ago
Published on Sep 15, 2024 This response is partially generated with the help of AI. It may contain inaccuracies.

Table of Contents

Introduction

This tutorial guides you through the process of duplicating an Oracle database using RMAN (Recovery Manager). Active database duplication allows you to create a copy of your database while it is still online, making it an essential technique for backup and recovery strategies.

Step 1: Create Password File for Auxiliary Instance

  • Create or copy the password file from the source database server to the auxiliary instance.
  • This file is necessary for secure connections between the databases.

Step 2: Configure TNSNAMES.ORA

  • Edit the tnsnames.ora file on both the source and auxiliary servers.
  • Ensure that both databases can communicate with each other through the Oracle network.

Step 3: Configure LISTENER.ORA

  • Update the listener.ora file to include a SID entry for the new primtst database.
  • Start the listener on both servers.
  • Verify connectivity by using the tnsping command:
    tnsping <your_database_alias>
    

Step 4: Edit Initialization Parameter File

  • Edit the initialization parameter file initprimtst.ora to set the database name:
    *.db_name='primtst'
    

Step 5: Create Directory for Audit Logs

  • Create the necessary directory for audit logs:
    mkdir -p /u01/app/oracle/admin/primtst/adump
    

Step 6: Set Environment Variables

  • Set the proper environment variables for the auxiliary instance:
    export ORACLE_SID=primtst
    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
    
  • Connect to SQL*Plus as SYSDBA:
    sqlplus / as sysdba
    

Step 7: Startup Auxiliary Instance

  • Start the auxiliary instance in NOMOUNT mode using the following command:
    startup nomount pfile='/u01/app/oracle/product/19.0.0/dbhome_1/dbs/initprimtst.ora'
    

Step 8: Prepare RMAN for Duplication

  • Launch RMAN and connect to the target and auxiliary databases:
    rman target sys/oracle@PRIMDB auxiliary sys/oracle@PRIMTST
    

Step 9: Duplicate the Database

  • Use the following RMAN command to duplicate the database:
    RMAN> run {
        DUPLICATE TARGET DATABASE TO primtst 
        FROM ACTIVE DATABASE 
        SPFILE parameter_value_convert 'primdb','primtst' 
        NOFILENAMECHECK;
    }
    
  • This command will create a duplicate of the target database primdb as primtst on the auxiliary instance.

Conclusion

You've now successfully duplicated an Oracle database using RMAN. This process is crucial for maintaining backups and testing environments. After completing the duplication, consider verifying the new database's integrity and functionality. For further learning, explore RMAN's other capabilities, such as backups and restores.