Clone Clusterware with active GNS to new node ( Single Node )

Used Software

  • GRID: 11.2.0.3.4
  • OEL 6.3
  • VirtualBox 4.2.14

Steps

  • Install Grid Infrastructure Clusterware + any required patches on our Source CRS
  • Prepare the new cluster nodes
  • Run the clone.pl on the Destination Node
  • Launch the Configuration Wizard
Stop source CRS on grac1 ( Source )
# $GRID_HOME/bin/crsctl stop crs
Create a stage directory 
# mkdir -p /local_tmp/cloneGRID
# cp -prf $GRID_HOME /local_tmp/cloneGRID
Cleanup staging area
cd  /local_tmp/cloneGRID/grid
rm -rf log/grac1
rm -rf gpnp/grac1
find gpnp -type f -exec rm -f {} \;
rm -rf root.sh*
rm -rf gpnp/*
rm -rf crs/init/*
rm -rf cdata/*
rm -rf crf/*
rm -rf network/admin/*.ora
find . -name ’*.ouibak’ -exec rm {} \;
find . -name ‘*.ouibak.1′ -exec rm {} \; 
find cfgtoollogs -type f -exec rm -f {} \;

Create an archive of the cleaned staging area
# cd  /local_tmp/cloneGRID/grid
# tar -zcvpf /RAC/cloneGRID/grid112034.tgz .
Restart CRS on source node

On our cloned system  grace1cl create the need directories:
# mkdir –p /u01/app/11203/grid
# mkdir –p /u01/app/grid
# mkdir –p /u01/app/oracle
# chown grid:oinstall /u01/app/11203/grid
# chown grid:oinstall /u01/app/grid
# chown oracle:oinstall /u01/app/oracle
# chown –R grid:oinstall /u01
# mkdir –p /u01/app/oracle
# chmod –R 775 /u01/
# mkdir -p /u01/app/oraInventory
# chown -R grid:oinstall /u01/app/oraInventory
# chmod -R 775 /u01/app/oraInventory
#  ls -ld /u01/app/oraInventory
drwxr-xr-x 3 grid oinstall 4096 Jul 17 15:12 /u01/app/oraInventory
As root user execute on the new node grac1cl  
# cd $GRID_HOME
# tar -zxvf /tmp/grid112034.tgz .
# chown -R grid:oinstall /u01/app/11203/grid
Change setuid:
# chmod u+s $GRID_HOME/bin/oracle
# chmod g+s $GRID_HOME/bin/oracle
# chmod u+s $GRID_HOME/bin/extjob
# chmod u+s $GRID_HOME/bin/jssu
# chmod u+s $GRID_HOME/bin/oradism

Prepare script to run clone.sh 
#!/bin/sh
export PATH=/u01/11.2.0/grid/bin:$PATH
export THIS_NODE=`/bin/hostname -s`
echo $THIS_NODE
ORACLE_BASE=/u01/app/grid
GRID_HOME=/u01/app/11203/grid
E01=ORACLE_BASE=${ORACLE_BASE}
E02=ORACLE_HOME=${GRID_HOME}
E03=ORACLE_HOME_NAME=GridHome1_112034
E04=INVENTORY_LOCATION=/u01/app/oraInventory
C00=-O'"-debug"'
C01=-O"\"CLUSTER_NODES={grac1cl}\""
C02="-O\"LOCAL_NODE=$THIS_NODE\""

Run cloning script  clone.pl :
$ perl ${GRID_HOME}/clone/bin/clone.pl -silent $E01 $E02 $E03 $E04 $C00 $C01 $C02
+ perl /u01/app/11203/grid/clone/bin/clone.pl -silent ORACLE_BASE=/u01/app/grid ORACLE_HOME=/u01/app/11203/grid ORACLE_HOME_NAME=GridHome1_112034 INVENTORY_LOCATION=/u01/app/oraInventory '-O"-debug"' '-O"CLUSTER_NODES={grac1cl}"' '-O"LOCAL_NODE=grac1cl"'
./runInstaller -clone -waitForCompletion  "ORACLE_BASE=/u01/app/grid" "ORACLE_HOME=/u01/app/11203/grid" "ORACLE_HOME_NAME=GridHome1_112034" "INVENTORY_LOCATION=/u01/app/oraInventory" "-debug" "CLUSTER_NODES={grac1cl}" "LOCAL_NODE=grac1cl" -silent -noConfig -nowait 
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB.   Actual 6219 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-08-09_07-59-43PM. Please wait ...
LD_LIBRARY_PATH environment variable :
-------------------------------------------------------
Total args: 32
Command line argument array elements ...
Arg:0:/tmp/OraInstall2013-08-09_07-59-43PM/jre/bin/java:
Arg:1:-Doracle.installer.library_loc=/tmp/OraInstall2013-08-09_07-59-43PM/oui/lib/linux64:
Arg:2:-Doracle.installer.oui_loc=/tmp/OraInstall2013-08-09_07-59-43PM/oui:
...
Arg:13:oracle.sysman.oii.oiic.OiicInstaller:
Arg:14:-scratchPath:
Arg:15:/tmp/OraInstall2013-08-09_07-59-43PM:
Arg:16:-sourceType:
Arg:17:network:
Arg:18:-timestamp:
Arg:19:2013-08-09_07-59-43PM:
Arg:20:-clone:
Arg:21:-waitForCompletion:
Arg:22:ORACLE_BASE=/u01/app/grid:
Arg:23:ORACLE_HOME=/u01/app/11203/grid:
Arg:24:ORACLE_HOME_NAME=GridHome1_112034:
Arg:25:INVENTORY_LOCATION=/u01/app/oraInventory:
Arg:26:-debug:
Arg:27:CLUSTER_NODES={grac1cl}:
Arg:28:LOCAL_NODE=grac1cl:
Arg:29:-silent:
Arg:30:-noConfig:
Arg:31:-nowait:
-------------------------------------------------------
Initializing Java Virtual Machine from /tmp/OraInstall2013-08-09_07-59-43PM/jre/bin/java. Please wait...
Oracle Universal Installer, Version 11.2.0.3.0 Production
Copyright (C) 1999, 2011, Oracle. All rights reserved.
You can find the log of this install session at:
 /u01/app/oraInventory/logs/cloneActions2013-08-09_07-59-43PM.log
.[main] [ 2013-08-09 19:59:51.314 CEST ] [Version.isPre:528]  version to be checked 11.2.0.3.0 major version to check against10
[main] [ 2013-08-09 19:59:51.315 CEST ] [Version.isPre:539]  isPre.java: Returning FALSE
[main] [ 2013-08-09 19:59:51.315 CEST ] [UnixSystem.getCSSConfigType:2418]  configFile=/etc/oracle/ocr.loc
[main] [ 2013-08-09 19:59:51.453 CEST ] [UnixSystem.getCSSConfigType:2462]  configType=null
[main] [ 2013-08-09 19:59:51.454 CEST ] [Version.isPre:528]  version to be checked 11.2.0.3.0 major version to check against10
[main] [ 2013-08-09 19:59:51.456 CEST ] [Version.isPre:539]  isPre.java: Returning FALSE
[main] [ 2013-08-09 19:59:51.456 CEST ] [ClusterInfo.<init>:241]  m_olsnodesPath=/u01/app/11203/grid/bin/olsnodes
[main] [ 2013-08-09 19:59:51.457 CEST ] [RuntimeExec.runCommand:75]  Calling Runtime.exec() with the command 
[main] [ 2013-08-09 19:59:51.458 CEST ] [RuntimeExec.runCommand:77]  /u01/app/11203/grid/bin/olsnodes 
[Thread-4] [ 2013-08-09 19:59:51.485 CEST ] [StreamReader.run:61]  In StreamReader.run 
[main] [ 2013-08-09 19:59:51.486 CEST ] [RuntimeExec.runCommand:142]  runCommand: Waiting for the process
[Thread-3] [ 2013-08-09 19:59:51.486 CEST ] [StreamReader.run:61]  In StreamReader.run 
[Thread-3] [ 2013-08-09 19:59:52.152 CEST ] [StreamReader.run:65]  OUTPUT>PRCO-19: Failure retrieving list of nodes in the cluster
[Thread-3] [ 2013-08-09 19:59:52.153 CEST ] [StreamReader.run:65]  OUTPUT>PRCO-2: Unable to communicate with the clusterware
[main] [ 2013-08-09 19:59:52.154 CEST ] [RuntimeExec.runCommand:144]  runCommand: process returns 1
[main] [ 2013-08-09 19:59:52.154 CEST ] [RuntimeExec.runCommand:161]  RunTimeExec: output>
[main] [ 2013-08-09 19:59:52.154 CEST ] [RuntimeExec.runCommand:164]  PRCO-19: Failure retrieving list of nodes in the cluster
[main] [ 2013-08-09 19:59:52.154 CEST ] [RuntimeExec.runCommand:164]  PRCO-2: Unable to communicate with the clusterware
[main] [ 2013-08-09 19:59:52.155 CEST ] [RuntimeExec.runCommand:170]  RunTimeExec: error>
[main] [ 2013-08-09 19:59:52.155 CEST ] [RuntimeExec.runCommand:192]  Returning from RunTimeExec.runCommand
Performing tests to see whether nodes  are available
............................................................... 100% Done.
[main] [ 2013-08-09 19:59:52.580 CEST ] [QueryCluster.<init>:56]  No Cluster detected
[main] [ 2013-08-09 19:59:52.581 CEST ] [QueryCluster.isCluster:65]  Cluster existence check = false
Installation in progress (Friday, August 9, 2013 7:59:53 PM CEST)
........................................................................                                                        72% Done.
Install successful
Linking in progress (Friday, August 9, 2013 7:59:57 PM CEST)
Link successful
Setup in progress (Friday, August 9, 2013 8:00:29 PM CEST)
.................                                               100% Done.
Setup successful
End of install phases.(Friday, August 9, 2013 8:00:51 PM CEST)
WARNING:
The following configuration scripts need to be executed as the "root" user in each new cluster node. Each script in the list below is followed by a list of nodes.
/u01/app/11203/grid/root.sh #On nodes grac1cl
To execute the configuration scripts:
    1. Open a terminal window
    2. Log in as "root"
    3. Run the scripts in each cluster node    
Run the script on the local node.
The cloning of GridHome1_112034 was successful.
Please check '/u01/app/oraInventory/logs/cloneActions2013-08-09_07-59-43PM.log' for more details.
copying /u01/app/oraInventory/logs/cloneActions2013-08-09_07-59-43PM.log to /u01/app/11203/grid/cfgtoollogs/ouicloneActions2013-08-09_07-59-43PM.log
copying /u01/app/oraInventory/logs/silentInstall2013-08-09_07-59-43PM.log to /u01/app/11203/grid/cfgtoollogs/oui/silentInstall2013-08-09_07-59-43PM.log
copying /u01/app/oraInventory/logs/oraInstall2013-08-09_07-59-43PM.err to /u01/app/11203/grid/cfgtoollogs/oui/oraInstall2013-08-09_07-59-43PM.err
copying /u01/app/oraInventory/logs/oraInstall2013-08-09_07-59-43PM.out to /u01/app/11203/grid/cfgtoollogs/oui/oraInstall2013-08-09_07-59-43PM.out

Now Create your ASM disks using Virtualbox Manager and check that these disks are available 
# /etc/init.d/oracleasm listdisks
DATA1
DATA2

Run as user grid configure CRS script 
$GRID_HOME/crs/config/config.sh using following paramters:
Cluster name   grace2cl  
Scan name:     grace2cl-scan.grid.example.com 
Scan port:     1521
Configure GNS
GNS sub domain:  grid2.example.com
GNS VIP address: 192.168.1.57

Run # /u01/app/11203/grid/root.sh and  monitor logfile the related logfile 
# tail -f /u01/app/11203/grid/install/root_grac1cl.example.com_2013-08-09_20-51-57.log
Operation successful.
CRS-4256: Updating the profile
Successful addition of voting disk 79ace18753134f99bf4b2b846f8df8cd.
Successfully replaced voting disk group with +DATA.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   79ace18753134f99bf4b2b846f8df8cd (/dev/oracleasm/disks/DATA1) [DATA]
Located 1 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'grac1cl'
CRS-2676: Start of 'ora.asm' on 'grac1cl' succeeded
CRS-2672: Attempting to start 'ora.DATA.dg' on 'grac1cl'
CRS-2676: Start of 'ora.DATA.dg' on 'grac1cl' succeeded
CRS-2672: Attempting to start 'ora.registry.acfs' on 'grac1cl'
CRS-2676: Start of 'ora.registry.acfs' on 'grac1cl' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded

Reference:  How to Clone an 11.2.0.3 Grid Infrastructure Home and Clusterware (Doc ID 1413846.1)

 

Leave a Reply

Your email address will not be published. Required fields are marked *