Search This Blog

Tuesday, December 16, 2014

Something about Rapid Cloning Part 1 - Database


During the interviews this is always asked, like "Tell me how do you do the Cloning in R12?"
We all know what happens in Cloning, but now we shall also know how is it done internally.
So I thought I shall dig up some information about how oracle works, whats the idea behind.
Starting with the few basic statements that we might have heard alot. I will put them in a question/answer pattern. 
In this post I am focusing only on the Database part. 


Q: Why do we need to do cloning?
-> To test some application by patching or coding which can affect the whole application or may need downtime for the process to be carried out. So, in order to avoid the loss in business due to these mentioned factors, we need to clone the Oracle Application.

Q. What are the different cloning methods supported by Oracle?
-> There can be many cloning methods but oracle supports only 1, i.e., RAPID CLONE.
      On the basis of Config.  We can divide them as
            1. With AUTOCONFIG. (Completely replaced by Rapid Clone now.)
            2. Without AUTOCONFIG. (
used before 11.5.5)

Q.  What is the need to run adpreclone?
-> This will create the staged clone directory which will be having the driver files and configuration file (XML File) of the source.

Q: How does adpreclone.pl dbTier will run

->   After runnning this, it will go in two stages
            1. dbTechStack                       2. Database

Q: Explain dbTechStack and Database in details:
-> It will create stage cloned area at $ORACLE_HOME/appsutil/clone This clone directory has got following main directories
data,jre,bin,db,html,context
This will prepare the database techstack at dbTechStack stage.
  1. Creates template files at $ORACLE_HOME/appsutil/template
  2. Creates driver files at $ORACLE_HOME/appsutil/driver/instconf.drv
  3. Converts inventory from binary to xml
Now the database stage:
      It will prepare database at the database stage. Major activities includes
  1. Create database control file script
      $ORACLE_HOME/appsutil/clone/context/data/stage/addbhomsrc.xml
      $ORACLE_HOME/appsutil/clone/context/data/stage/adcrdb.zip
       adcrdbclone.sql

  2. Generates database creation driver file
$ORACLE_HOME/appsutil/clone/context/data/driver/data.drv

  3. Copy JDBC Libraries
$ORACLE_HOME/appsutil/clone /clone/jlib/classes111.zip

________________________________________ 
NOW adcfgclone.pl dbTier (On TARGET NODE)

This will also run in two modes
     1. dbTechStack stage: 
It will make use template and driver files which were created during preclone process. And it will run the following scripts
      adchkutl.sh
      adclonectx.sh
      runInstallConfigDriver -
located in $ORACLE_HOME/appsutil/driver/instconf.drv
      Relinking of ORACLE_HOME/appsutil/install/adlnkoh.sh  
     2. Now for the Database Stage
            Driver File       $ORACLE_HOME/appsutil/clone/context/data/driver/data.drv
            Create Database using adcrdb.zip file
            Autoconfig is Run
            Controlfile is created using adcrdbclone.sql
     3. Generates database creation driver file
$ORACLE_HOME/appsutil/clone/context/data/driver/data.drv
     4. Copy JDBC Libraries
$ORACLE_HOME/appsutil/clone /clone/jlib/classes111.zip

Ok, Now you can sleep and dream about the cloning.
-----------  That's it ------

No comments:

Post a Comment

Thank you for your Feedback.