Preparing to Clone!

We are moving to this new data center. The new servers are in the new data centers, just waiting for Oracle to be installed on them. We have about 50 new servers to install.

Obviously we want to install them as quickly as possible, and taking as little human-work time as possible. To achieve this, we are checking to options – scripted silent installation and installation cloning.

I’m checking the installation cloning part, and I’m using Oracle’s Universal Installer User Guide for the process. One of the first steps in the process is:

At the source, you run a script called prepare_clone.pl.
This is a Perl script that prepares the source for cloning by recording the information that is required for cloning. This is generally located in the following location: $ORACLE_HOME/clone/bin/prepare_clone.pl.

When I tried to run the script, I found out that oracle user did not have execute permissions on the file. Then I found out that the script had the location of PERL hardcoded to the wrong location. Finally, I found out that the file had the usual amount of comments for an Oracle script, but only one line of code:
exit 0;

I found this incredibly amusing, so I decided to blog on this. While blogging, I took a closer look at the documentation, and found the following comment:

The need to perform the preparation phase depends on the Oracle product that you are installing. This script needs to be executed only for the Application Server Cloning. Database and CRS Oracle home Cloning does not need this.

I guess the joke is on me. Serves me right for not reading the instructions carefully.


4 Comments on “Preparing to Clone!”

  1. Noons says:

    Oracle has been hard at work to make cloning hard to do, hopefully without success.

    First they took ages to recommend OFA. Then once it was in place, they came up with the install inventory to make things go bump.

    Fortunately in *n*x environments, it’s real easy: use OFA, clone $ORACLE_BASE and make sure you copy the /etc/oraInst.loc file – or edit one at the destination. That way the whole thing will work, including future installs and patches.

    Watch out for 11g losing OFA, though: one of the most boneheaded decisions from Oracle development…

    I wouldn’t have a clue what to do for Windows, been a few years since I’ve needed to do clones on that one. Probably just a registry dump-load of the ORACLE key?

    Good luck with the work. We have to do a similar exercise every year during our main DR test.

    • Centinul says:

      It’s actually really simple to clone a 10g DB installation on Windows platforms. You copy the Oracle Home to your new destination (excluding folders and log files related to your database SID), and then you run a perl script in %ORACLE_HOME%\clone\bin\clone.pl and voila it’s cloned. It’s surprisingly simple for a Windows environment🙂

    • Gimlet says:

      That assumes your pathnames do not change between systems/instances. For example, we have multiple nonproduction instances per physical system, so when we clone (using RMAN), we convert the pathnames with db_file_name_convert and log_file_name_convert directives in an ifile.

  2. joel garry says:

    Don’t forget metalink 794705.1


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s