Showing posts with label RMAN. Show all posts
Showing posts with label RMAN. Show all posts

Tuesday, March 12, 2013

Using RMAN Incremental Backups to Roll Forward a Physical Standby Database

In this article, we will show the steps that can be used to resolve problems if a physical standby database has lost or corrupted archived redo data or has an unresolvable archive gap.



1). Check the CURRENT_SCN on Primary and Standby

--On Primary
SQL> select current_scn from v$database;

CURRENT_SCN
-----------
     871303

--On Standby
SQL> select current_scn from v$database;

CURRENT_SCN
-----------
     859798

2). On the standby database, stop the Managed Recovery Process.
SQL> alter database recover managed standby database cancel;

3). Take "FROM SCN" backup of Primary Database
RMAN> backup incremental from scn 859790 database format '/u01/stnd_backp_%U.bak';

4). Create Standby Controlfile at Primary:
SQL> alter database create standby controlfile as /u01/stnd_cntl.ctl';

5).Copy the backup files and control file to standby server.

scp oracle@192.168.195.128:/u01/stnd* /u01/

At Standby copy controlfiles to their loactaion:

cp stnd_cntl.ctl /u01/app/oracle/oradata/HCLDB/control01.ctl
cp stnd_cntl.ctl /u01/app/oracle/flash_recovery_area/HCLDB/control02.ctl

6). Mount the standby database using backup controlfile.
SQL> startup nomount
SQL> alter database mount standby database;

7).Catalog the backupieces which you have copied from primary server to standby server using below command on standby server.

RMAN> catalog start with '/u01/stnd_backp_0fo4apn7_1_1.bak';
RMAN> catalog start with '/u01/stnd_backp_0go4apov_1_1.bak';

8). Recover the standby database with the cataloged incremental backup.
RMAN> recover database noredo;

**You must also specify NOREDO if the online logs are available but the redo cannot be applied to the incrementals.
**If you do not specify NOREDO, then RMAN searches for redo logs after applying the incremental backup, and issues an error message when it does not find them.

9), Now check whether the standby database is properly synched or not
- On Primary database
SQL> select max(sequence#) from v$archived_log;

- On Standby database
SQL> select max(sequence#) from v$log_history;

10) On the standby database, start the MRP process.
SQL> alter database recover managed standby database disconnect from session;

Sunday, January 27, 2013

Step by Step - Duplicating Oracle Database using RMAN Backup with connection to Target database


Step by Step Duplicating Oracle Database using RMAN Backup with connection to Target database:-
Details:

Oracle EE 11.2 on RHEL5
Target Server: 192.168.195.128
Clone Server: 192.168.195.137

As we are duplicating to a different we can use same SID for both Source and Clone. My source DBID is HCL

Step1. Put your target database in Archive log mode.

Step2. Start RMAN at Target and Configure CONTROLFILE AUTOBACKUP ON
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

Take Backup of Target database
RMAN> BACKUP DATABASE PLUS ARCHIVELOG

Step3. Configure tnsnames and listener at source and clone server as below:

At Source Server
--------------------------------------------------------------------
HCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.195.137)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = HCL)
    )
  )
---------------------------------------------------------------------
At Clone Server
----------------------------------------------------------------------
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = HCL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = HCL)
    )
  )


LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.195.137)(PORT = 1521))
  )
------------------------------------------------------------------------

Step4: create orapwd file at clone server's dbs directory
orapwd file=orapwHCL password=oracle entries=10

Step5. Create pfile of Target database and copy pfile to Clone Server's dbs directory
SQL> create pfile from spfile;

Copy pfile to Clone Server
scp oracle@192.168.195.128:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initHCL.ora /u01/app/oracle/product/11.2.0/dbhome_1/dbs/

Step6. Create required directories at Clone server. Here I'm using same filesystem as source so no need to use DB_FILE_NAME_CONVERT

mkdir -p /u01/app/oracle/oradata/HCL
mkdir -p /u01/app/oracle/flash_recovery_area/HCL
mkdir -p /u01/app/oracle/admin/HCL
cd /u01/app/oracle/admin/HCL
mkdir adump dpdump

Step7. Copy backupfile to Clone Server from Source Server
scp -r oracle@192.168.195.128:/u01/app/oracle/flash_recovery_area/HCL/ /u01/app/oracle/flash_recovery_area/

Step8. At Remote Server set ORACLE_SID=HCL and start the Clone Server in NOMOUNT mode
SQL> STARTUP NOMOUNT;

Step9: start RMAN at source and connect RMAN to clone as well
At Source
RMAN TARGET /
connect auxiliary sys/oracle@HCL

***Make sure your Souce Database is in OPEN mode and Clone DB is in NOMOUNT Mode

Now run the Duplicate command # See the response as well

RMAN> DUPLICATE TARGET DATABASE TO HCL
NOFILENAMECHECK;2>

Starting Duplicate Db at 27-JAN-13
using channel ORA_AUX_DISK_1

contents of Memory Script:
{
   sql clone "alter system set  db_name =
 ''HCL'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   sql clone "alter system set  db_unique_name =
 ''HCL'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   shutdown clone immediate;
   startup clone force nomount
   restore clone primary controlfile;
   alter clone database mount;
}
executing Memory Script

sql statement: alter system set  db_name =  ''HCL'' comment= ''Modified by RMAN duplicate'' scope=spfile

sql statement: alter system set  db_unique_name =  ''HCL'' comment= ''Modified by RMAN duplicate'' scope=spfile

Oracle instance shut down

Oracle instance started

Total System Global Area     631914496 bytes

Fixed Size                     1338364 bytes
Variable Size                377488388 bytes
Database Buffers             247463936 bytes
Redo Buffers                   5623808 bytes

Starting restore at 27-JAN-13
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=18 device type=DISK

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/HCL/autobackup/2013_01_27/o1_mf_s_805812962_8j9onctk_.bkp
channel ORA_AUX_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/HCL/autobackup/2013_01_27/o1_mf_s_805812962_8j9onctk_.bkp tag=TAG20130127T125602
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
output file name=/u01/app/oracle/oradata/HCL/control01.ctl
output file name=/u01/app/oracle/flash_recovery_area/HCL/control02.ctl
Finished restore at 27-JAN-13

database mounted

contents of Memory Script:
{
   set until scn  763666;
   set newname for datafile  1 to
 "/u01/app/oracle/oradata/HCL/system01.dbf";
   set newname for datafile  2 to
 "/u01/app/oracle/oradata/HCL/sysaux01.dbf";
   set newname for datafile  3 to
 "/u01/app/oracle/oradata/HCL/undotbs01.dbf";
   set newname for datafile  4 to
 "/u01/app/oracle/oradata/HCL/users01.dbf";
   restore
   clone database
   ;
}
executing Memory Script

executing command: SET until clause

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 27-JAN-13
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/HCL/system01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/HCL/sysaux01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/HCL/undotbs01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/HCL/users01.dbf
channel ORA_AUX_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/HCL/backupset/2013_01_27/o1_mf_nnndf_TAG20130127T125432_8j9okjyl_.bkp
channel ORA_AUX_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/HCL/backupset/2013_01_27/o1_mf_nnndf_TAG20130127T125432_8j9okjyl_.bkp tag=TAG20130127T125432
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:22
Finished restore at 27-JAN-13

contents of Memory Script:
{
   switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy RECID=1 STAMP=805814774 file name=/u01/app/oracle/oradata/HCL/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=2 STAMP=805814774 file name=/u01/app/oracle/oradata/HCL/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=3 STAMP=805814774 file name=/u01/app/oracle/oradata/HCL/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=4 STAMP=805814774 file name=/u01/app/oracle/oradata/HCL/users01.dbf

contents of Memory Script:
{
   set until scn  763666;
   recover
   clone database
    delete archivelog
   ;
}
executing Memory Script

executing command: SET until clause

Starting recover at 27-JAN-13
using channel ORA_AUX_DISK_1

starting media recovery

archived log for thread 1 with sequence 4 is already on disk as file /u01/app/oracle/flash_recovery_area/HCL/archivelog/2013_01_27/o1_mf_1_4_8j9on8j1_.arc
archived log file name=/u01/app/oracle/flash_recovery_area/HCL/archivelog/2013_01_27/o1_mf_1_4_8j9on8j1_.arc thread=1 sequence=4
media recovery complete, elapsed time: 00:00:00
Finished recover at 27-JAN-13

contents of Memory Script:
{
   shutdown clone immediate;
   startup clone nomount;
   sql clone "alter system set  db_name =
 ''HCL'' comment=
 ''Reset to original value by RMAN'' scope=spfile";
   sql clone "alter system reset  db_unique_name scope=spfile";
   shutdown clone immediate;
   startup clone nomount;
}
executing Memory Script

database dismounted
Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area     631914496 bytes

Fixed Size                     1338364 bytes
Variable Size                377488388 bytes
Database Buffers             247463936 bytes
Redo Buffers                   5623808 bytes

sql statement: alter system set  db_name =  ''HCL'' comment= ''Reset to original value by RMAN'' scope=spfile

sql statement: alter system reset  db_unique_name scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area     631914496 bytes

Fixed Size                     1338364 bytes
Variable Size                377488388 bytes
Database Buffers             247463936 bytes
Redo Buffers                   5623808 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "HCL" RESETLOGS ARCHIVELOG
  MAXLOGFILES     16
  MAXLOGMEMBERS      3
  MAXDATAFILES      100
  MAXINSTANCES     8
  MAXLOGHISTORY      292
 LOGFILE
  GROUP  1  SIZE 50 M ,
  GROUP  2  SIZE 50 M ,
  GROUP  3  SIZE 50 M
 DATAFILE
  '/u01/app/oracle/oradata/HCL/system01.dbf'
 CHARACTER SET WE8MSWIN1252


contents of Memory Script:
{
   set newname for tempfile  1 to
 "/u01/app/oracle/oradata/HCL/temp01.dbf";
   switch clone tempfile all;
   catalog clone datafilecopy  "/u01/app/oracle/oradata/HCL/sysaux01.dbf",
 "/u01/app/oracle/oradata/HCL/undotbs01.dbf",
 "/u01/app/oracle/oradata/HCL/users01.dbf";
   switch clone datafile all;
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /u01/app/oracle/oradata/HCL/temp01.dbf in control file

cataloged datafile copy
datafile copy file name=/u01/app/oracle/oradata/HCL/sysaux01.dbf RECID=1 STAMP=805814812
cataloged datafile copy
datafile copy file name=/u01/app/oracle/oradata/HCL/undotbs01.dbf RECID=2 STAMP=805814812
cataloged datafile copy
datafile copy file name=/u01/app/oracle/oradata/HCL/users01.dbf RECID=3 STAMP=805814812

datafile 2 switched to datafile copy
input datafile copy RECID=1 STAMP=805814812 file name=/u01/app/oracle/oradata/HCL/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=805814812 file name=/u01/app/oracle/oradata/HCL/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=805814812 file name=/u01/app/oracle/oradata/HCL/users01.dbf

contents of Memory Script:
{
   Alter clone database open resetlogs;
}
executing Memory Script

database opened
Finished Duplicate Db at 27-JAN-13

RMAN>





Friday, January 18, 2013

RMAN : Recovery of a dropped tablespace


If a tablespace has been dropped, the Tablespace Point In Time Recovery (TSPITR) method cannot be used.

When you drop a tablespace, the controlfile will then no longer have any records of the tablespace which has been dropped. Attempts to use the RMAN RECOVER TABLESPACE command will return the RMAN error RMAN-06019 – “could not translate tablespace name” as shown below.

Step 1. Lets create a tablespace droptest first.
SQL> create tablespace droptest datafile '/u01/app/oracle/oradata/HCL/droptest01.dbf' size 50m;

Tablespace created.

Step 2. Delete this tablespace including contents and datafiles.
SQL> drop tablespace droptest including contents and datafiles;

Tablespace dropped.

Step 3. Now try to recover the dropped tablespace using RMAN
RMAN> recover tablespace droptest;

Starting recover at 18-JAN-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=43 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 01/18/2013 20:43:24
RMAN-20202: Tablespace not found in the recovery catalog
RMAN-06019: could not translate tablespace name "DROPTEST"

RMAN>
See the error - RMAN-20202: Tablespace not found in the recovery catalog

Step 4. So to recover the dropped tablespace, we have two options:
1) Do a point in time recovery of the whole database until the time the tablespace was dropped.
2) Create a clone of the database from a valid backup, export the required tables from the tablespace which has been dropped, recreate the tablespace and then import the tables from the clone.

The first option will require the outage of the entire database and the entire database will be rolled back in tine in order to recover the tablespace.The second option can be peformed online, but we will need to factor in the disk space requirements to create a clone of the database from which the tablespace has been dropped.

Step 5. Lets create the same tablespace again and take a full backup of database including controlfile.

SQL> create tablespace droptest datafile '/u01/app/oracle/oradata/HCL/droptest01.dbf' size 50m;

Tablespace created.

Take full backup.

RMAN> backup database plus archivelog;

Drop the tablespace DROPTEST again and we will recover it as below.

Step 6. Start the database in nomount stage and restore the controlfile from backup.
SQL> startup nomount
ORACLE instance started.

Total System Global Area  631914496 bytes
Fixed Size                  1338364 bytes
Variable Size             394265604 bytes
Database Buffers          230686720 bytes
Redo Buffers                5623808 bytes

Step 7. Next We need to restore controlfile from backup which contains metadata of tablespace DROPTEST.

RMAN> restore controlfile from autobackup;

Starting restore at 18-JAN-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=17 device type=DISK

recovery area destination: /u01/app/oracle/flash_recovery_area
database name (or database unique name) used for search: HCL
channel ORA_DISK_1: AUTOBACKUP /u01/app/oracle/flash_recovery_area/HCL/autobackup/2013_01_18/o1_mf_s_805064205_8hltfpnt_.bkp found in the recovery area
AUTOBACKUP search with format "%F" not attempted because DBID was not set
channel ORA_DISK_1: restoring control file from AUTOBACKUP /u01/app/oracle/flash_recovery_area/HCL/autobackup/2013_01_18/o1_mf_s_805064205_8hltfpnt_.bkp
channel ORA_DISK_1: control file restore from AUTOBACKUP complete
output file name=/u01/app/oracle/oradata/HCL/control01.ctl
output file name=/u01/app/oracle/flash_recovery_area/HCL/control02.ctl
Finished restore at 18-JAN-13

Now restored controlfile contains the metadata of dropped Tablespace DROPTEST.

RMAN> report schema;

------

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    670      SYSTEM               ***     /u01/app/oracle/oradata/HCL/system01.dbf
2    450      SYSAUX               ***     /u01/app/oracle/oradata/HCL/sysaux01.dbf
3    30       UNDOTBS1             ***     /u01/app/oracle/oradata/HCL/undotbs01.dbf
4    5        USERS                ***     /u01/app/oracle/oradata/HCL/users01.dbf
5    0        DROPTEST             ***     /u01/app/oracle/oradata/HCL/droptest01.dbf
6    20       TEMP                 32767   /u01/app/oracle/oradata/HCL/temp01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /u01/app/oracle/oradata/HCL/temp01.dbf



The alert log will also show the time when the tablespace was dropped. We can also see that a controlfile autobackup has taken place after the tablespace was dropped

Fri Jan 18 21:01:20 2013
drop tablespace droptest including contents and datafiles
Deleted file /u01/app/oracle/oradata/HCL/droptest01.dbf
Completed: drop tablespace droptest including contents and datafiles

Step 7.Now that we know the time the tablespace was dropped, we can do a point in time recovery of the DATABASE in order to recover the tablespace which has been dropped.

RMAN> run {
set until time "to_date('18-JAN-2013 21:01:00','DD-MON-YYYY HH24:Mi:SS')";
restore database;
recover database;
}
2> 3> 4> 5>
executing command: SET until clause

Starting restore at 18-JAN-13
using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/HCL/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/HCL/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/HCL/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/HCL/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/HCL/droptest01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/HCL/backupset/2013_01_18/o1_mf_nnndf_TAG20130118T205505_8hltbl5x_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/HCL/backupset/2013_01_18/o1_mf_nnndf_TAG20130118T205505_8hltbl5x_.bkp tag=TAG20130118T205505
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:01:28
Finished restore at 18-JAN-13

Starting recover at 18-JAN-13
using channel ORA_DISK_1

starting media recovery

archived log for thread 1 with sequence 2 is already on disk as file /u01/app/oracle/flash_recovery_area/HCL/archivelog/2013_01_18/o1_mf_1_2_8hltfmh8_.arc
archived log for thread 1 with sequence 3 is already on disk as file /u01/app/oracle/oradata/HCL/redo03.log
archived log file name=/u01/app/oracle/flash_recovery_area/HCL/archivelog/2013_01_18/o1_mf_1_2_8hltfmh8_.arc thread=1 sequence=2
archived log file name=/u01/app/oracle/oradata/HCL/redo03.log thread=1 sequence=3
media recovery complete, elapsed time: 00:00:01
Finished recover at 18-JAN-13

RMAN> alter database open resetlogs;

database opened

Step 8 Now check the the restored tablespace.

SQL> select file_name,bytes from dba_data_files where tablespace_name='DROPTEST';

FILE_NAME                                               BYTES
-------------------------------------------------- ----------
/u01/app/oracle/oradata/HCL/droptest01.dbf           52428800





RMAN 'Duplicate From Active Database'

Metalink notes - RMAN 'Duplicate From Active Database' Feature in 11G [ID 452868.1]

***Active database duplication Method***

Target Database- HCL
Auxiliary Database- AUX

Step1. Create a pfile for AUX database and create the required directory as well.

db_name='AUX'
diagnostic_dest='/u01/app/oracle'
DB_FILE_name_CONVERT=('/u01/app/oracle/oradata/HCL','/u01/app/oracle/oradata/AUX') 
LOG_FILE_NAME_CONVERT=( '/u01/app/oracle/oradata/HCL','/u01/app/oracle/oradata/AUX')
sga_target=377487360
control_files='/u01/app/oracle/oradata/AUX/control01.ctl'
compatible='11.2.0.0.0'

Step2. Create password file for Auxilary database

orapwd file=orapwAUX password=oracle entries=10

Step3. Configure Listener on Aux
====================================================
SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC = 
      (GLOBAL_DBNAME = AUX) 
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1) 
      (SID_NAME = AUX) 
    ) 
  )


LISTENER = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.195.128)(PORT = 1521)) 
  )
====================================================
Configure Configure Listener on Target
====================================================
SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC = 
      (GLOBAL_DBNAME = HCL) 
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1) 
      (SID_NAME = HCL) 
    ) 
  )


LISTENER = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.195.134)(PORT = 1521)) 
  )
===========================================================

Configure tnsname.ora (In the TARGET and AUXILIARY host)
=================================================================
AUX = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.195.128)(PORT = 1521)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = AUX) 
    ) 
  ) 


HCL = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.195.134)(PORT = 1521)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = HCL)
    ) 
  )
======================================================================
Execute on the TARGET and AUXILIARY host
% tnsping HCL
% tnsping AUX


Step4. Start Auxilary database to nomount stage
SQL> startup nomount pfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initAUX.ora';
ORACLE instance started.

Total System Global Area  376635392 bytes
Fixed Size                  1336652 bytes
Variable Size             121637556 bytes
Database Buffers          247463936 bytes
Redo Buffers                6197248 bytes
SQL> exit

Step.5 
Start RMAN to connect both DB Instances

RMAN> connect target sys/oracle@HCL

connected to target database: HCL (DBID=931429395)

RMAN> connect AUXILIARY sys/oracle@AUX

connected to auxiliary database: AUX (not mounted)

RMAN> 
=================

DUPLICATE TARGET DATABASE TO 'AUX' FROM ACTIVE DATABASE DB_FILE_NAME_CONVERT '/u01/app/oracle/oradata/HCL','/u01/app/oracle/oradata/AUX';

See output below

RMAN> DUPLICATE TARGET DATABASE TO 'AUX' FROM ACTIVE DATABASE DB_FILE_NAME_CONVERT '/u01/app/oracle/oradata/HCL','/u01/app/oracle/oradata/AUX';

Starting Duplicate Db at 13-JAN-13
using channel ORA_AUX_DISK_1

contents of Memory Script:
{
   sql clone "create spfile from memory";
}
executing Memory Script

sql statement: create spfile from memory

contents of Memory Script:
{
   shutdown clone immediate;
   startup clone nomount;
}
executing Memory Script

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area     376635392 bytes

Fixed Size                     1336652 bytes
Variable Size                125831860 bytes
Database Buffers             243269632 bytes
Redo Buffers                   6197248 bytes

contents of Memory Script:
{
   sql clone "alter system set  db_name = 
 ''HCL'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   sql clone "alter system set  db_unique_name = 
 ''AUX'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   shutdown clone immediate;
   startup clone force nomount
   backup as copy current controlfile auxiliary format  '/u01/app/oracle/oradata/AUX/control01.dbf';
   alter clone database mount;
}
executing Memory Script

sql statement: alter system set  db_name =  ''HCL'' comment= ''Modified by RMAN duplicate'' scope=spfile

sql statement: alter system set  db_unique_name =  ''AUX'' comment= ''Modified by RMAN duplicate'' scope=spfile

Oracle instance shut down

Oracle instance started

Total System Global Area     376635392 bytes

Fixed Size                     1336652 bytes
Variable Size                125831860 bytes
Database Buffers             243269632 bytes
Redo Buffers                   6197248 bytes

Starting backup at 13-JAN-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=39 device type=DISK
channel ORA_DISK_1: starting datafile copy
copying current control file
output file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_HCL.f tag=TAG20130113T173439 RECID=7 STAMP=804620080
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 13-JAN-13

database mounted

contents of Memory Script:
{
   set newname for datafile  1 to 
 "/u01/app/oracle/oradata/AUX/system01.dbf";
   set newname for datafile  2 to 
 "/u01/app/oracle/oradata/AUX/sysaux01.dbf";
   set newname for datafile  3 to 
 "/u01/app/oracle/oradata/AUX/undotbs01.dbf";
   set newname for datafile  4 to 
 "/u01/app/oracle/oradata/AUX/users01.dbf";
   backup as copy reuse
   datafile  1 auxiliary format 
 "/u01/app/oracle/oradata/AUX/system01.dbf"   datafile 
 2 auxiliary format 
 "/u01/app/oracle/oradata/AUX/sysaux01.dbf"   datafile 
 3 auxiliary format 
 "/u01/app/oracle/oradata/AUX/undotbs01.dbf"   datafile 
 4 auxiliary format 
 "/u01/app/oracle/oradata/AUX/users01.dbf"   ;
   sql 'alter system archive log current';
}
executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting backup at 13-JAN-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/u01/app/oracle/oradata/HCL/system01.dbf
output file name=/u01/app/oracle/oradata/AUX/system01.dbf tag=TAG20130113T173446
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:05
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/u01/app/oracle/oradata/HCL/sysaux01.dbf
output file name=/u01/app/oracle/oradata/AUX/sysaux01.dbf tag=TAG20130113T173446
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:39
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/u01/app/oracle/oradata/HCL/undotbs01.dbf
output file name=/u01/app/oracle/oradata/AUX/undotbs01.dbf tag=TAG20130113T173446
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/u01/app/oracle/oradata/HCL/users01.dbf
output file name=/u01/app/oracle/oradata/AUX/users01.dbf tag=TAG20130113T173446
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 13-JAN-13

sql statement: alter system archive log current

contents of Memory Script:
{
   backup as copy reuse
   archivelog like  "/u01/app/oracle/flash_recovery_area/HCL/archivelog/2013_01_13/o1_mf_1_3_8h58tfxh_.arc" auxiliary format 
 "/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_3_804600981.dbf"   ;
   catalog clone archivelog  "/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_3_804600981.dbf";
   switch clone datafile all;
}
executing Memory Script

Starting backup at 13-JAN-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=3 RECID=2 STAMP=804620197
output file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_3_804600981.dbf RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 13-JAN-13

cataloged archived log
archived log file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_3_804600981.dbf RECID=2 STAMP=804620199

datafile 1 switched to datafile copy
input datafile copy RECID=7 STAMP=804620199 file name=/u01/app/oracle/oradata/AUX/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=8 STAMP=804620199 file name=/u01/app/oracle/oradata/AUX/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=9 STAMP=804620199 file name=/u01/app/oracle/oradata/AUX/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=10 STAMP=804620199 file name=/u01/app/oracle/oradata/AUX/users01.dbf

contents of Memory Script:
{
   set until scn  768903;
   recover
   clone database
    delete archivelog
   ;
}
executing Memory Script

executing command: SET until clause

Starting recover at 13-JAN-13
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=19 device type=DISK

starting media recovery

archived log for thread 1 with sequence 3 is already on disk as file /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_3_804600981.dbf
archived log file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_3_804600981.dbf thread=1 sequence=3
media recovery complete, elapsed time: 00:00:01
Finished recover at 13-JAN-13

contents of Memory Script:
{
   shutdown clone immediate;
   startup clone nomount;
   sql clone "alter system set  db_name = 
 ''AUX'' comment=
 ''Reset to original value by RMAN'' scope=spfile";
   sql clone "alter system reset  db_unique_name scope=spfile";
   shutdown clone immediate;
   startup clone nomount;
}
executing Memory Script

database dismounted
Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area     376635392 bytes

Fixed Size                     1336652 bytes
Variable Size                125831860 bytes
Database Buffers             243269632 bytes
Redo Buffers                   6197248 bytes

sql statement: alter system set  db_name =  ''AUX'' comment= ''Reset to original value by RMAN'' scope=spfile

sql statement: alter system reset  db_unique_name scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area     376635392 bytes

Fixed Size                     1336652 bytes
Variable Size                125831860 bytes
Database Buffers             243269632 bytes
Redo Buffers                   6197248 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "AUX" RESETLOGS ARCHIVELOG 
  MAXLOGFILES     16
  MAXLOGMEMBERS      3
  MAXDATAFILES      100
  MAXINSTANCES     8
  MAXLOGHISTORY      292
 LOGFILE
  GROUP  1 ( '/u01/app/oracle/oradata/AUX/redo01.log' ) SIZE 50 M  REUSE,
  GROUP  2 ( '/u01/app/oracle/oradata/AUX/redo02.log' ) SIZE 50 M  REUSE,
  GROUP  3 ( '/u01/app/oracle/oradata/AUX/redo03.log' ) SIZE 50 M  REUSE
 DATAFILE
  '/u01/app/oracle/oradata/AUX/system01.dbf'
 CHARACTER SET WE8MSWIN1252


contents of Memory Script:
{
   set newname for tempfile  1 to 
 "/u01/app/oracle/oradata/AUX/temp01.dbf";
   switch clone tempfile all;
   catalog clone datafilecopy  "/u01/app/oracle/oradata/AUX/sysaux01.dbf", 
 "/u01/app/oracle/oradata/AUX/undotbs01.dbf", 
 "/u01/app/oracle/oradata/AUX/users01.dbf";
   switch clone datafile all;
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /u01/app/oracle/oradata/AUX/temp01.dbf in control file

cataloged datafile copy
datafile copy file name=/u01/app/oracle/oradata/AUX/sysaux01.dbf RECID=1 STAMP=804620218
cataloged datafile copy
datafile copy file name=/u01/app/oracle/oradata/AUX/undotbs01.dbf RECID=2 STAMP=804620218
cataloged datafile copy
datafile copy file name=/u01/app/oracle/oradata/AUX/users01.dbf RECID=3 STAMP=804620218

datafile 2 switched to datafile copy
input datafile copy RECID=1 STAMP=804620218 file name=/u01/app/oracle/oradata/AUX/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=804620218 file name=/u01/app/oracle/oradata/AUX/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=804620218 file name=/u01/app/oracle/oradata/AUX/users01.dbf

contents of Memory Script:
{
   Alter clone database open resetlogs;
}
executing Memory Script

database opened
Finished Duplicate Db at 13-JAN-13

RMAN>