Cloning an Oracle home involves creating a copy of the Oracle home and then configuring it for a new environment. If you are performing multiple Oracle Database installations, then you may want to use this method to create each Oracle home, because copying files from an existing Oracle Database installation takes less time than creating a new version of them. This method is also useful if the Oracle home that you are cloning has had patches applied to it. When you clone the Oracle home, the new Oracle home has the patch updates.

When you clone Oracle homes using release 11.2 Database Control, you must update the exclude file list. This file list specifies files that need not be included when the source Oracle home is archived because these files are not required for the cloning operation. Do not include the following files in the archive:

Cloning an Oracle HomeConfiguring Oracle Configuration Manager in a Cloned Oracle HomeB.1 Cloning an Oracle Home

Perform the following to clone an Oracle home:

Verify that the installation of Oracle Database to clone is successful.

You can do this by reviewing the installActionsdate_time.log file for the installation session, which is typically located in the /orainventory_location/logs directory.

If you install patches, then check their status using the following:

$ cd $ORACLE_HOME/OPatchInclude $ORACLE_HOME/OPatch in $PATH

$ opatch lsinventoryStop all processes related to the Oracle home. See Chapter 7, "Removing Oracle Database Software" for more information about stopping the processes for an Oracle home.

Create a ZIP file with the Oracle home (but not the Oracle base) directory.

For example, if the source Oracle installation is in the /u01/app/oracle/product/11.2.0/dbhome_1, then you zip the dbhome_1 directory by using the following command:

# zip -r dbhome_1.zip /u01/app/oracle/product/11.2.0/dbhome_1Do not include the admin, fast_recovery_area, and oradata directories that are under the Oracle base directory. These directories are created in the target installation later, when you create a new database there.

Copy the ZIP file to the root directory of the target computer.

Extract the ZIP file contents by using the following command:

# unzip -d / dbhome_1.zipRepeat steps 4 and 5 for each computer where you want to clone the Oracle home, unless the Oracle home is on a shared storage device.

On the target computer, change the directory to the unzipped Oracle home directory, and remove all the .ora (*.ora) files present in the unzipped $ORACLE_HOME/network/admin directory.

From the $ORACLE_HOME/clone/bin directory, run the clone.pl file for the unzipped Oracle home. Use the following syntax:

$ORACLE_HOME/perl/bin/perl clone.pl ORACLE_BASE="/u01/app/oracle/" ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1"OSDBA_GROUP=dba OSOPER_GROUP=oper -defaultHomeNameOracle Universal Installer starts, and then records the cloning actions in the cloneActionstimestamp.log file. This log file is typically located in /orainventory_location/logs directory.

To configure the connection information for the new database, run Net Configuration Assistant:

$ cd $ORACLE_HOME/bin$ ./dbcaSee Also:Oracle Universal Installer and OPatch User's Guide for Windows and UNIX for detailed information about using Oracle Universal Installer to clone an Oracle Database home

Oracle Database Administrator's Guide for information about cloning Oracle databases and cloning an Oracle Database home

B.2 Configuring Oracle Configuration Manager in a Cloned Oracle Home

Perform the following to configure Oracle Configuration Manager for a cloned Oracle home:

Run the following command from $ORACLE_HOME/ccr/state:$ rm -rf *.ll*Run the following command from $ORACLE_HOME/ccr/inventory:$ cp core.jar pendingRun the following commands from $ORACLE_HOME/ccr/bin:$ ./emSnapshotEnv$ ./deployPackagesRun the following command from $ORACLE_HOME/ccr/bin and provide the proper credentials:$ ./configCCRIf Oracle Configuration Manager was manually configured using setupCCR, then perform the following in the cloned Oracle home:

Delete all the subdirectories of the $ORACLE_HOME/ccr/hosts directory to remove previously configured hosts.

Run the following command from $ORACLE_HOME/ccr/bin:

$ ./configCCR -aIf you installed Oracle Configuration Manager in the original Oracle home but have not configured it, then run the following command in the cloned Oracle home:

End of install phases.(Monday, June 28, 2010 12:34:05 PM WST)
Starting to execute configuration assistants
The following configuration assistants have not been run. This can happen because Oracle Universal Installer was invoked with the -noConfig option.
————————————–
The “/u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/configToolFailedCommands” script contains all commands that failed, were skipped or were cancelled. This file may be used to run these configuration assistants outside of OUI. Note that you may have to update this script with passwords (if any) before executing the same.
The “/u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/configToolAllCommands” script contains all commands to be executed by the configuration assistants. This file may be used to run the configuration assistants outside of OUI. Note that you may have to update this script with passwords (if any) before executing the same.

————————————–
WARNING:
The following configuration scripts need to be executed as the “root” user.
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as “root”
3. Run the scripts

The cloning of 11GR2_HOME was successful.
Please check ‘/u01/app/oracle/oraInventory/logs/cloneActions2010-06-28_12-19-47PM.log’ for more details.

Run the root.sh script as root

# pwd
/u01/app/oracle/product/11.2.0/dbhome_1

# ./root.sh
Check /u01/app/oracle/product/11.2.0/dbhome_1/install/root_devastator_2010-06-29_07-42-31.log for the output of root script

The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1
Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

We can now check that the OraInventory has been updated with the 11g Release 2 Oracle Home details.

On this machine, earlier there was only a 10g Oracle Home installed. When we check the contents of the inventory.xml file, we will see that it has information about the 11g Oracle Home – 11GR2_HOME