Friday, June 21, 2013

Step by Step Clone RAC 10g Database to Non RAC Database in R12 Environments

1- make pre clone for database from $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/ perl adpreclone.pl dbTier
2- shutdown the source database and listener
3- copy the source files(ORACLE_HOME,Datafiles) to destination servers

export PATH=$PATH:{PATH TO ORACLE HOME}/bin
which unzip

export ORACLE_HOME={PATH TO ORACLE HOME}/
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk rac_off
make -f ins_rdbms.mk ioracle

4- execute post clone steps with the following options
cd $ORACLE_HOME/appsutil/clone/bin
perl adcfgclone.pl dbTier

Target System Hostname (virtual or normal) [devmdb1] :

Target Instance is RAC (y/n) [y] : n

Target System Database SID : PRD ( In this example i used the same name of the production Instance with a different port)

Target System Base Directory : /oracle/product/

Target System utl_file_dir Directory List : /usr/tmp

Number of DATA_TOP's on the Target System [2] : 1

Target System DATA_TOP Directory 1 : /oracle/PRD/datafile

Target System RDBMS ORACLE_HOME Directory [//oracle/product/db/tech_st/10.2.0] : /oracle/product/RAC10g

Do you want to preserve the Display [rmsmdb1:0.0] (y/n) ? : n

Target System Display [devmdb1:0.0] :

Do you want the the target system to have the same port values as the source system (y/n) [y] ? : y


the Post Clone will fail after creating the control file, and will not be able to open the database (Just mounted) execute the following:

5- a- shutdown the databse immediate;
   b- Modify initSID.ora with the following parameter: _no_recovery_through_resetlogs=TRUE
   c- startup mount;
   d- alter database open resetlogs
   e- execute any failed steps in the clone log file like adding temp files or renaming the global name of the database


6-reexecute pre clone on same machine.

 shutdown immediate;
 stop the listener

7-re-execute post clone process.

No comments:

Post a Comment