Professional Documents
Culture Documents
home
Author Lokesh Krishnaswamy Oracle DBA Consultant
Document purpose
The purpose of this document is to explain cloning of an RAC RDBMS home in
Oracle11g R1. We at ran into a situation where we have to move the current homes for
the following purposes
1. With crs, asm and db all contributing the three times the regular binary size,
we had to come up with ways to clone the RAC homes, primarily to overcome
the 20Gb limitation of internal storage of the servers
2. Some of the Oracle11g R1 RAC bundles can double the size of the binaries
3. Have the ability to apply patches to the binaries much earlier than during
scheduled patch outage windows and switch the patched binaries during the
actual downtime if the patches cannot applied in a rolling fashion or perhaps if
the actual patching time takes longer for each node.
Introduction
The current environment we have is a 5 node cluster with Oracle11g R1 version 11.1.0.7
on Sun Sparc64 M5000 servers, with 32Gb memory and 16CPU. That’s lot of power!
First hurdle
Until Oracle9i, we had the luxury of just copying the binaries and using them. Starting
Oracle10g, we have to use the runInstaller but in Oracle11g, the significant change is, the
copy has to be done by the root user. Refere note: 559305.1. I did encounter some issues in
copying the links with the command suggested by oracle
Instead I used the following as root and worked fantastic. Great many thanks to our unix admins
Bikram Singh and Mo Shafi.
Local:
Register with Inventory : Did this for both asm and db home
cd $ORACLE_HOME/clone/bin
perl clone.pl ORACLE_HOME=”/u01/app/oracle/product/11.1/asm”
ORACLE_HOME_NAME=”OraASM11g_home2” ORACLE_BASE=”/u00/app/oracle”
Apply all the patches to the asm and db binaries. After application of patches on
one propagate the binaries to the remaining nodes in the cluster using the following
command.
remote:
On each node perform the following to register the new binaries to be a valid
Oracle home
OCR Changes
Validate changes
Validate changes
cd $TNS_ADMIN
vi listener.ora
include the following on each node in the listener.ora file
ADR_BASE_LISTENER_<nodename>=/u01/app/oracle
eg
ADR_BASE_LISTENER_ADCRACDBP4=/u01/app/oracle
The above srvctl commands have to be run for all the databases and nodes if needed.
SID_LIST_LISTENER_ADCRACDBP4 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.1/asm)
(PROGRAM = extproc)
(ENVS =
"EXTPROC_DLLS=ANY,LD_LIBRARY_PATH=/u01/app/oracle/product/11.1/asm/lib:/usr/lib
:/apps/nubridge/xp_nuencryption_
ora_solaris/2.7/lib:/usr/sfw/lib/64,PCI_CONFIG_PATH=/apps/nubridge/resources,NU_LOGGI
NG_CFG=/apps/nubridge/xp_nuencryption_or
a_solaris/2.7/config/samples/logging.cfg,LOGNAME=oracle")
)
)
Further to the changes above, the backup scripts and other scripts running from crontab should
also be changed.
For further questions, you can email me anytime at lokesh.krishnaswamy@ihg.com or
lokesh@avidts.com.