Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I have so far used two options to create a clone of a database from one host to another:

  1. RMAN restore and recovery as below

    RMAN >
    startup nomount;
    restore controlfile from .. .
    shutdown immediate;
    
    rman >
    startup mount;
    CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET;
    CONFIGURE CONTROLFILE AUTOBACKUP ON;
    ALLOCATE CHANNEL d1 DEVICE TYPE DISK FORMAT .....
    restore database;
    release CHANNEL d1;
    ....
    ..
    
    RECOVER  database until cancel using backup controlfile;
    ALTER DATABASE SET STANDBY TO MAXIMIZE performance;
    ..
    
  2. The other option is to duplicate

    run
    {
    allocate auxiliary channel C1 device type disk;
    allocate auxiliary channel C2 device type disk;
    allocate channel C3 device type disk connect '....';
    duplicate target database to XYZ nofilenamecheck;
    }
    exit;
    

I am just wondering whats are pros and cons of the above tow options. Which one to use in which scenario? What are merits of using duplicate command over restore and recover process?

I noticed that to use the duplicate command, the source database has to be up. In DEV/TEST environments where we are creating clones, the source database may not be available.

Could you please give more details on this?

share|improve this question

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.