RMAN DUPLICATE WITHOUT CONNECTING TO TARGET DATABASE IN 11GR2

Prior versions of Oracle required a connection to the TARGET and optional rman catalog for duplicate database.

In 11GR2, we can perform RMAN duplicate database to a new server without connecting to the target database or a recovery catalog.

Steps.

1) Take backup of the database.

RMAN> Configure controlfile autobackup on;
RMAN> backup database plus archivelog;

2) Copy the backupsets to auxilliary server. ( In this example to /orabackup directory)

3) Create an init.ora for duplicate database.

4) Start auxilliary instance

$ export ORACLE_SID=NEWDB

$ sqlplus "/ as sysdba"

SQL> startup nomount;

5) Start rman and connect to auxiliary instance

rman auxiliary /

RMAN> DUPLICATE DATABASE TO NEWDB BACKUP LOCATION '/orabackup/' NOFILENAMECHECK

7 comments:

  1. I have used the sme steps but endedup with RMAN-05579:CONTROLFILE backup not found....
    Eventhough I have shipped the backup of the contolfile to the specified location.

    ReplyDelete
    Replies
    1. At first you need to restore the control file from the auto backup.

      RMAN> restore controlfile from autobackup;

      Then duplicate the database.

      Delete
    2. Hi,

      When I try to restore the controlfile, I got this:
      /users/oracle$ rman auxiliary /

      Recovery Manager: Release 11.2.0.2.0 - Production on Mon Apr 15 21:49:37 2013

      Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

      connected to auxiliary database: ITCAMC (not mounted)

      RMAN> restore controlfile from autobackup;

      Starting restore at 15-APR-13
      RMAN-00571: ===========================================================
      RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
      RMAN-00571: ===========================================================
      RMAN-03002: failure of restore command at 04/15/2013 21:49:52
      RMAN-06171: not connected to target database

      Delete
    3. I got this error too. The problem was missing dependent directory for controlfile listed in init.ora.

      Delete
    4. I got the same error as well, turns out that I have missed the forward slash '/' in backup location i.e.

      DUPLICATE DATABASE TO NEWDB BACKUP LOCATION '/orabackup' NOFILENAMECHECK;
      Once I added that as:
      DUPLICATE DATABASE TO NEWDB BACKUP LOCATION '/orabackup/' NOFILENAMECHECK, error was resolved.

      Delete
  2. i am facing issue when starting auxiliary instance.

    [oracle@machine2 dbs]$ sqlplus "/ as sysdba"

    SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 10 12:50:44 2013

    Copyright (c) 1982, 2009, Oracle. All rights reserved.

    Connected to an idle instance.

    SQL> startup nomount
    ORA-00119: invalid specification for system parameter LOCAL_LISTENER
    ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=machine2)(PORT=1521))'
    SQL>

    ReplyDelete
  3. Listner.ora file appended below

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = Oracle8)
    (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
    (SID_NAME = PRIMDB)
    )
    (SID_DESC =
    (GLOBAL_DBNAME = Oracle8)
    (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
    (SID_NAME = STDYDB)
    )
    )

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.3.17.12)(PORT = 1521))
    )
    )

    ADR_BASE_LISTENER = /u01/app/oracle

    ReplyDelete