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

8 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
    5. Shockingly, adding / to the path helped me as well for this error about controlfile backup not found. This was on 11.2.0.4, while on another 11.2.0.1 it worked without it, though in the failing case the path was a mount point and in working it was not. Both OSs were Solaris on SPARC.

      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