Since 11gR2 released we're able to duplicate database
without connecting to target DB or CATALOG using backup where target database could be down. This kind of duplicate termed as “Backup-Based
Duplication without a target and Recovery Catalog Connection”.
1-
From RMAN prompt check
control file autobackup is ON.
2-
Connect to the target to
get a new backup.
cmd > rman target /
rman > backup database plus archivelog;
3-
Once it finished copy
backup folder to your destination DB using normal OS copy.
4-
Create your duplicate
instance – windows only
cmd > oradim –NEW –SID destination database name
5-
Create parameter file with
following parameter.
Dn_name= destination database
name
Db_unique_name= destination
database name
Db_file_name_conevrt=’source
datafile location’,’destination datafile location’
Log_file_name_convert=’source
logfile location’,’destination logfile location’
6-
Startup the destination DB
in nomount stage.
sql > Startup nomount
7-
Connect to the auxiliary
through RMAN and restore the db.
cmd > rman auxiliary /
rman > duplicate database to DB_NAME backup location
‘backup PATH’;
Note:
As per metaling In release 11.2.0.2 there is a bug through an
ora-600
RMAN-00571:
===========================================================
RMAN-00569:
=============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571:
===========================================================
RMAN-03002:
failure of Duplicate Db command at 01/09/2013 11:39:15
RMAN-06403:
could not obtain a fully authorized session
RMAN-04006:
error from auxiliary database: ORA-01034: ORACLE not available
ORA-27101:
shared memory realm does not exist
RMAN-04014:
startup failed: ORA-00600: internal error code, arguments: [17099], [], [], [],
[], [], [], [], [], [], [], []
ORA-00600:
internal error code, arguments: [KSMFPG5], [0xAEC0000], [], [], [], [], [], [],
[], [], [], []
When you try to open the DB you will get following error:
ORA-19838:
Cannot use this control file to open database
And when you show up db_name and db_unique_name parameters , you find
old name for db_name so continue next steps.
8-
Backup control file as
trace.
sql > alter database backup controlfile to trace as
‘PATH(CNTRL.sql)’;
9-
Edit controlfile trace to
replace (REUSE to SET, OLD_DB_NAME to NEW_DB_NAME and remove all blank spaces
and commented rows)
10- Restart
database in mount stage and change the
DB_NAME
sql > shutdown
sql > startup mount
sql > alter system set db_name=NEW_DB_NAME scope=spfile;
11- Shutdown
the DB again and recreate control file after remove it through OS.
sql > shutdown
sql > @CNTRL.sql
12-Alter
database open with resetlogs option.
sql > alter database open resetlogs
Note:
If you get below error go and check the alert file to find out
which parameters are deprecated and remove them.
ORA-32004:
obsolete or deprecated parameter(s) specified for RDBMS instance
Congratulation you have duplicate your database successfully.
No comments:
Post a Comment