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)