How to clone Oracle Home ?

Step by step procedure to clone Oracle Home

Source Home

/u01/app/oracle/product/11.2.0/dbhome_1

Target Home

/u01/app/oracle/product/11.2.0/dbhome_2

Steps to clone the Oracle Home

Below steps can be executed

Step 1. Pack the Source Home
As root user,
  • cd /u01/app/oracle/product/11.2.0/
  • tar-cvpf dbhome_1.tar dbhome_1    (p–preserves permission)
Step 2. Move the tar file outside of ORACLE_HOMES directory
As root user,
  • cd /u01/app/oracle/product/11.2.0/
  • mv dbhome_1.tar ../
Step 3. Unpack the tar file
As root user,
  • cd /u01/app/oracle/product/
  • tar -xvf dbhome_1.tar
Note: Make sure the unpacked DB Home has the correct permission on the directory (oracle:oinstall).
Permissions should not change as the pack was done with ‘p’ option
Step 4. Rename it to new Home
As Oracle user,
  • cd /u01/app/oracle/product/
  • mv dbhome_1 dbhome_2
Step 5. Move the new Home to correct location again
As Oracle User,
  • cd /u01/app/oracle/product/
  • mv dbhome_2 11.2.0/
Now new Home is /u01/app/oracle/product/11.2.0/dbhome_2
Step 6. On New Home run clone script
As Oracle user,
  • cd /u01/app/oracle/product/11.2.0/dbhome_2/clone/bin
  • perl clone.pl ORACLE_HOME=”/u01/app/oracle/product/11.2.0/dbhome_2″ ORACLE_HOME_NAME=”OraDb11g_home2″ ORACLE_BASE=”/u01/app/oracle” OSDBA_GROUP=oinstall
Step 7. After the clone script is done check inventory
As Oracle user,
  • export PATH=/u01/app/oracle/product/11.2.0/dbhome_2/OPatch:$PATH
  • opatch lsinventory (should succeed and should show new home with list of patches applied)
Step 8. Run root.sh on New Home
As root user,
  • cd /u01/app/oracle/product/11.2.0/dbhome_2/
  • ./root.sh
Step 9. Update cluster nodes in inventory as follows
Example:
As Oracle user,
  • cd /u01/app/oracle/product/11.2.0/dbhome_2/oui/bin
  • ./runInstaller -local -updateNodeList ORACLE_HOME=”/u01/app/oracle/product/11.2.0/dbhome_2″ ORACLE_HOME_NAME=”OraDb11g_home2″ LOCAL_NODE=’dbnode01′ CLUSTER_NODES=dbnode01,dbnode02  (For home on both nodes)

see also