R12 RAC to NON RAC Clone Using Rman
-
Upload
nawabsharief -
Category
Documents
-
view
235 -
download
0
Transcript of R12 RAC to NON RAC Clone Using Rman
-
8/3/2019 R12 RAC to NON RAC Clone Using Rman
1/6
R12 Clone using rmanThis article details the steps used to clone R12 RAC database to Single instance database usingRMAN duplicate command, Notice that we used the control file as a catalog database and theProduction will keep up and running.The databases used here are:Production: PRODCloned: CPCLONE
1-On the source system; Run the preclone script on both database and apps tiers.Database:
$ cd ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/$ perl adpreclone.plApplication:
$ cd $ADMIN_SCRIPTS_HOME/appsutil/scripts/$CONTEXT_NAME/$ perl adpreclone.pl2-Archive and move the Apps tier and Database home form the source to the target server:
For the application tier:
$ cd $APPL_TOP/../../..
$ tar cvf - apps| gzip > apps_PROD.tar.gz
For the database tier
$ cd $ORACLE_HOME/..
$ tar cvf db | gzip > db_PROD.tar.gz
3-Create full RMAN backup for the source database:$ export ORACLE_SID=PROD
http://mtalmasri.blogspot.com/2010/12/r12-clone-using-rman.htmlhttp://mtalmasri.blogspot.com/2010/12/r12-clone-using-rman.html -
8/3/2019 R12 RAC to NON RAC Clone Using Rman
2/6
$ rman target /
run{allocate channel d1 type disk;allocate channel d2 type disk;
backup format '/backup/MASTER/ERP/df_prodt%t_s%s_p%p.bak' database;
sql 'alter system archive log current';backup format '/backup/MASTER/ERP/df_archive%t_s%s_p%p.arc' archivelog all;release channel d1;release channel d2;}
4-Move the backup pieces generated from Rman to the target server to the same path or make a soft linkas the same backup original path to let Rman see it.
Example$ ln f -s /u02/CPCLONE/backup /backup/MASTER/ERP.5-Extract the archive files on the Target servers
For the application tier:
$ tar cvf - apps| gzip > apps_PROD.tar.gz
For the database tier
$ tar cvf db | gzip > db_PROD.tar.gz
Note: The current path depends on your configuration.
6-On the target system; Run the preclone script on the database tier.$ cd $ORACLE_HOME/appsutil/clone/bin
$ perl adcfgclone.pl dbTechStack
7-Edit the new created init file under $ORACLE_HOME/dbs to include the following parameters; Note we areusing ASM as data storage:
-
8/3/2019 R12 RAC to NON RAC Clone Using Rman
3/6
_no_recovery_through_resetlogs=TRUE
db_file_name_convert =('+DATA1/prod', '/u01/CPCLONE/oradata')
log_file_name_convert =('+DATA1/prod', '/u01/CPCLONE/oradata')
and edit the following parameters if not have those valuesundo_management =AUTO
undo_tablespace =UNDOTBS1
db_name =cpclone
instance_name =cpclone
8-On the target system; Startup the database on nomount state:$ export $ORACLE_SID=CPCLONE
$ sqlplus / as sysdbaSQL> startup nomount pfile=initCPCLONE.ora;
9-Make the production database accessible from the clone database:$ cd $TNS_ADMIN
$ vi tnsnames.ora
And insert the follow entries:
PROD= (
DESCRIPTION=(
ADDRESS=(PROTOCOL=tcp)(HOST=gfmisdb1)
(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=PROD)
(INSTANCE_NAME=PROD1)
-
8/3/2019 R12 RAC to NON RAC Clone Using Rman
4/6
)
)
10-Test the connection to the production database:$ tnsping PROD
$ sqlplus apps/apps@PROD
11-Lunch rman to start the duplicate process:$ export $ORACLE_SID=CPCLONE
$ rman target sys/sys@prod auxiliary /
run
{allocate auxiliary channel C1 device type disk;
allocate auxiliary channel C2 device type disk;
duplicate target database to cpclone;
release channel C1;
release channel C2;
}
12-Shutdown the cpclone database and edit the parameter file as:
$ sqlplus / as sysdba
$ shutdown abort;
Edit the following parameters:
undo_management to =MANUAL
undo_tablespace=UNDOTBS1
13-Open the database in with resetlogs option:
-
8/3/2019 R12 RAC to NON RAC Clone Using Rman
5/6
$ sqlplus / as sysdba
Sql> startup mount;
Sql> alter database open resetlogs;
Sql> drop tablespace APPS_UNDOTS1 including contents;Sql> CREATE UNDO TABLESPACE APPS_UNDOTS1 DATAFILE
'/u02/CPCLONE/oradata/datafile/undo01.dbf' SIZE 4000M AUTOEXTEND
ON NEXT 100M MAXSIZE 7000M
ONLINE
RETENTION NOGUARANTEE
BLOCKSIZE 8K
FLASHBACK ON;Then shutdown the database
Sql> shutdown immediate;
14-Edit the parameter file:Remove _no_recovery_through_resetlogs=TRUE and edit
undo_management=AUTO
undo_tablespace=APPS_UNDOTS1
15-Change the database mode to be in no archive log mode:
$ sqlplus / as sysdba
Sql> startup mount;
Sql> alter database noarchivelog;
Sql> alter database open;
Execute the following script
Sql> @$ORACLE_HOME/appsutil/install/[CONTEXT NAME]/adupdlib.sql so
-
8/3/2019 R12 RAC to NON RAC Clone Using Rman
6/6
Sql> create spfile from pfile.
Sql> shutdown immediate;
Sql> startup;
16-After the database opened; execute the following script:cd $ORACLE_HOME/appsutil/clone/bin
perl adcfgclone.pl dbconfig $ORACLE_HOME/appsutil/$CONTEXT_NAME.xml
17-On the application tier run the following script:cd $COMMON_TOP/clone/bin
perl adcfgclone.pl appsTier