Wednesday, January 23, 2008

Details of Adpreclone and Adcfgclone

(Interview Ques: What happens internally when you run adpreclone and adcfgclone)

I am covering the Internal Cloning Process which you will not get eaily on the net. Generally you find the steps for cloning like run adpreclone on apps and db tier then copy the file sytem to Target then run adcfgclone on apps tier and db Tier.

What happens when you run adpreclone and adcfgclone. The below steps give you better understanding and enhance your troubleshooting skills.

When you run this commnad adpreclone.pl dbTier . This will run in two steps Techstack and database.

Techstack:
It will create following directories in the ORACLE_HOME/appsutil/clone
Jlib, db, data where “Jlib” relates to libraries “db” will contain the techstack information, “data” will contain the information related to datafiles and required for cloning.
Creates driver files at ORACLE_HOME/appsutil/driver/instconf.drv

Converts inventory from binary to xml, the xml file is located at $ORACLE_HOME/appsutil/clone/context/db/Sid_context.xml

Prepare database for cloning:
This includes creating datbase control file script and datafile location information file at
$ORACLE_HOME/appsutil/template
adcrdbclone.sql, dbfinfo.lst

Generates database creation driver file at ORACLE_HOME/appsutil/clone/data/driver
data.drv

Copy JDBC Libraries at ORACLE_HOME/appsutil/clone/jlib/classes12.jar and appsoui

When Running adpreclone appsTier

This will create stage directory at $COMMON_TOP/clone. This also run in two steps.

Techstack:
Creates template files for
Oracle_iAS_Home/appsutil/template
Oracle_806_Home/appsutil/template

Creates Techstack driver files for
IAS_ORACLE_HOME/appsutil/driver/instconf.drv
806_ORACLE_HOME/appsutil/driver/instconf.drv

APPL_TOP preparation:
-It will create application top driver file$COMMON_TOP/clone/appl/driver/appl.drv
-Copy JDBC libraries$COMMON_TOP/clone/jlib/classes111.zip

Now Shutdown all the services of Application and database for Copy the file System to target location

Configuring the target system
Once it is done . Run as below adcfclone.pl for apps Tier and dbTier.

On database side:
cd $ORACLE_HOME/appsutils/clone/binperl adcfgclone.pl dbTier pwd=apps
This will use the templates and driver files those were created while running adpreclone.pl on source system and has been copied to target system.

Following scripts are run by adcfgclone.pl dbTier for configuring techstack

adchkutl.sh — This will check the system for ld, ar, cc, and make versions.
adclonectx.pl — This will clone the context file. This will ceate a new context file as per the details of this instance.
runInstallConfigDriver — located in $Oracle_Home/appsutil/driver/instconf.drv
Relinking $Oracle_Home/appsutil/install/adlnkoh.sh — This will relink ORACLE_HOME

For data on database side, following scripts are run
Driver file $Oracle_Home/appsutil/clone/context/data/driver/data.drv
Create database adcrdb.zip
Autoconfig is run
Control file creation adcrdbclone.sql

On Application Side:
COMMON_TOP/clone/bin/perl adcfgclone.pl appsTier pwd=apps
Following scripts are run by adcfgclone.pl
Creates context file for target adclonectx.pl

Run driver files
$ORACLE_HOME/appsutil/driver/instconf.drv
$IAS_ORACLE_HOME/appsutil/driver/instconf.drv

Relinking of Oracle Home$ORACLE_HOME/bin/adlnk806.sh$IAS_ORACLE_HOME/bin/adlnkiAS.sh
At the end it will run the driver file $COMMON_TOP/clone/appl/driver/appl.drv and then runs autoconfig.

Enjoy!!!

12 comments:

Anonymous said...

Would you know why adcfgclone dbTier sets s_dbCluster=FALSE when "Target instance" is specified as RAC? It does this when run with parameter "database" or "dbTier" but does not do so with "dbTechStack".

Unknown said...

HI,

This note on adpreclone is a very good article. Young DBAs can understand adpreclone concepts in a very easy and better way.

Jagadish

sree said...

Great Stuff..Thanks for all you efforts...

grosi said...

Thanks a lot!
It really helped.

Anonymous said...

really, Very nice one article.
It is one of the best article that i ever read on internet.

I found one think missing. If you include all the option available with adpreclone, It will be a prefect article.

Anonymous said...

This is great article...For more information please login into metalink and check below doc.

Troubleshooting RapidClone issues with Oracle Applications 11i [ID 364565.1]

Oracle Applications DBA said...

Hi,

This is a good post, this questions was asked to me very recently in an interview. I didn't guess that i'll get an answer to this.

Thanks.

mohit said...

What are the Various component available with the adpreclone and adcfgclone and what are the diffrence between them....?

Thanks

Mohit

Elideth Cecilia said...

Thanks for share information, is excellent =)

Anonymous said...

When are the new directories with the new context name created?

Anonymous said...

Why when adpreclone is executed it does not create an instconf.drv file but a instconf.drv.new file. Should I delete the existing one before running this command or should I just rename the new file to instconf.drv? If I don't change it the adcfgclone runs with error.

Wayne

Anonymous said...

Good stuff, Helpful.....