In this Document
Goal
Solution
Environment for this Example:
Step 1: Connect Hardware
Step 2: Manually Copy Home Files
Step 3: Run setup.exe with -clone option from new node
Step 4: Run addNode.bat from existing Node
Step 5: Run crssetup.add.bat from existing Node
Step 6: Finalizing the CRS install
Notes:
References
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.1 - Release: 10.2 to 10.2
z*OBSOLETE: Microsoft Windows Server 2003
z*OBSOLETE: Microsoft Windows 2000
Microsoft Windows Itanium (64-bit)
Microsoft Windows x64 (64-bit)
Microsoft Windows 2000Microsoft Windows Server 2003 (64-bit
Itanium)Microsoft Windows Server 2003Microsoft Windows Server 2003
(64-bit AMD64 and Intel EM64T)
Goal
The goal of this document is to describe how to add a node to an existing RAC cluster on Windows. Starting with 10gR2, it is possible to add nodes to existing clusters using two methods. The first method is using the 'addNode.bat' script. The second method is to use the 'cloning' procedure.
In most cases, either method works and is fully supported. However, in some cases, adding a node using the 'addNode.bat' script will not work - specifically, when the existing nodes have been upgraded from an earlier database release to 10gR2 (see BUG 5604897. In that case, the only supported method of adding a node is to use the 'cloning' procedure, which this note describes.
Solution
Environment for this Example:
In this example, we will consider a 2-Node cluster that was
originally installed as a single node, and the second node will be added
using the cloning procedure. In this example, the node names are as
follows;
Public Node Name Private Node Name Vip Status
============== ============== ======== ==========
rmntops1 rmntops1-priv rmntops1-vip Existing Node
rmntops2 rmntops2-priv rmntops2-vip Node to be added
The cluster has a single Voting Disk and OCR on raw devices, mapped respectively as:
\\.\votedsk1
\\.\ocrcfg
Step 1: Connect Hardware
Ensure that all of the hardware is properly prepared on the new node. Make sure that the shared disks are accessible for the new nodes, ensure that AUTOMOUNT is enabled on the new node (if on Windows 2003). Ensure that the binding order is correct for network cards, and verify that IP addresses are available for the VIP on the new node, etc.
Step 2: Manually Copy Home Files
Copy the CRS_HOME from an existing node to the new node, using the same path. You can use winzip or other compression utilities to zip up the existing CRS_HOME and extract it to the new node, or you can simply copy the entire CRS_HOME directory using an OS copy or xcopy command. Ensure that the path to the CRS_HOME on the new node is the same as the existing node.
In the example here, the existing CRS_HOME path on rmntops1 is E:\oracle\product\10.2.0\crs
The home files were copied using Windows Explorer by simply mapping a drive to \\rmntops2\E$ from rmntops1 and then doing a copy/paste to copy the directory to the remote node.
Step 3: Run setup.exe with -clone option from new node
From the NEW node to which you have just copied the files for the CRS_HOME (in this case, rmntops2), change into the CRS_HOME\oui\bin subdirectory at a command prompt. From that directory, run the following command. Note that we are specifying the full path to the CRS_HOME, as well as the HOME_NAME, which can be determined from the Registry. Also, we are specifying the public, private and vip names for the new node to be added. You will substitute your own node names here (the -debug flag is optional). Be sure to type the following all on one line:
E:\oracle\product\10.2.0\crs\oui\bin>setup.exe -clone -silent ORACLE_HOME=E:\oracle\product\10.2.0\crs ORACLE_HOME_NAME=
OraCr10g_home
n_storageTypeVDSK=2 n_storageTypeOCR=2
"sl_tableList={rmntops2:rmntops2-priv:rmntops2-vip}"
PERFORM_PARTITION_TASKS=false -noconfig -debugAn Installer window should open up showing the progress of the install, and at the end, you should see output similar to the following:
The cloning of OraCr10g_home was successful.
Please check 'C:\Program Files\Oracle\Inventory\logs\cloneActions2007-02-12_04-0
1-55PM.log' for more details.
copying C:\Program Files\Oracle\Inventory\logs\cloneActions2007-02-12_04-01-55PM
.log to E:\oracle\product\10.2.0\crs\cfgtoollogs\oui\cloneActions2007-02-12_04-0
1-55PM.log
copying C:\Program Files\Oracle\Inventory\logs\oraInstall2007-02-12_04-01-55PM.e
rr to E:\oracle\product\10.2.0\crs\cfgtoollogs\oui\oraInstall2007-02-12_04-01-55
PM.err
copying C:\Program Files\Oracle\Inventory\logs\oraInstall2007-02-12_04-01-55PM.o
ut to E:\oracle\product\10.2.0\crs\cfgtoollogs\oui\oraInstall2007-02-12_04-01-55
PM.out
copying C:\Program Files\Oracle\Inventory\logs\silentInstall2007-02-12_04-01-55P
M.log to E:\oracle\product\10.2.0\crs\cfgtoollogs\oui\silentInstall2007-02-12_04
-01-55PM.log
Please press Enter to exit...At this point, you should see that on the new node, the Inventory directory now exists in the following directory:
C:\Program Files\Oracle
In this directory, you will see that the file "C:\Program Files\Oracle\Inventory\ContentsXML\inventory.xml" has been updated, but it will only list the NEW node in the node_list section. This same file on the existing Node (rmntops1) will only list the original node.
You will also see that the registry value for Oracle has been updated or created under HKLM\Software.
In addition, you will see that the ocfs.sys, orafencedrv.sys and orafenceservice.sys have been copied into the C:\WINDOWS\System32\drivers directory on the new node by executing the above 'setup' command.
Finally, you should see that the following services have been created on the new node:
Oracle Object Service
OracleClusterVolumeService
OracleCRService
OracleCSService
OracleEVMService
At this stage, only the Oracle Object Service and OracleClusterVolumeService should be started, with the other services not yet started.
Step 4: Run addNode.bat from existing Node
The next step is to return to the existing node in the cluster, and prep that node by running the addnode command in silent mode. On the existing node (rmntops1), go to a command prompt and change into the CRS_HOME\oui\bin directory. Run the following command, again noting that you must substitute in the new names for the NEW node:
E:\oracle\product\10.2.0\crs\oui\bin>addNode.bat
-silent "CLUSTER_NEW_NODES={rmntops2}"
"CLUSTER_NEW_PRIVATE_NODE_NAMES={rmntops2-priv}"
"CLUSTER_NEW_VIRTUAL_HOSTNAMES={rmntops2-vip}" -noCopy -noRemoteActions
Again, an Oracle Universal Installer window will open, and you should see final output at the end similar to the following:
...
Instantiating scripts for add node (Mon Feb 12 16:02:33 MST 2007)
. 1% Done.
Instantiation of add node scripts complete
Remote node operations in progress (Mon Feb 12 16:04:12 MST 2007)
Remote node operations complete
Saving inventory on nodes (Mon Feb 12 16:04:12 MST 2007)
. 100% Done.
Save inventory complete
The Cluster Node Addition of E:\oracle\product\10.2.0\crs was successful.
Please check 'C:\TEMP\2\silentInstall.log' for more details.
Please press Enter to exit...
At this point, the inventory.xml on all nodes should show the complete node_list for the CRS_HOME on each node.
In addition, the crssetup.add.bat script will be instantiated on the existing node, which will be used in Step 5.
Step 5: Run crssetup.add.bat from existing Node
As Noted above, the previous command should have created a
crssetup.add.bat on the existing node (rmntops1, in our example) in the
CRS_HOME\install directory. Change to that directory from a command
prompt and run that script. The output should look similar to what you
see here:
E:\oracle\product\10.2.0\crs\install>crssetup.add.bat
Step 1: checking status of CRS stack
Step 2: Configuring basic cluster services
Step 3: configuring OCR repository with new nodes
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Attempting to add 1 new nodes to the configuration
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node <nodenumber>: <nodename> <private interconnect name> <hostname>
node 2: rmntops2 rmntops2-priv rmntops2
Creating OCR keys for user 'administrator', privgrp ''..
Operation successful.
Step 4: configuring safe mode for CRS components
Step 5: starting up the CRS stack on new nodes
Step 6: configuring OCR with new node VIP information
Creating VIP application resource on (1) nodes..
Creating GSD application resource on (1) nodes..
Creating ONS application resource on (1) nodes..
Starting VIP application resource on (1) nodes..
Starting GSD application resource on (1) nodes..
Starting ONS application resource on (1) nodes..
Done.
Step 7: configuring ONS process for new nodes
completed addition of 1 nodes to cluster
At the end of this script, you should observe that the CRS Services that were created in Step#3 above have now been started. You now have a new cluster, consisting of (in this example) two nodes. You can confirm this by checking the CRS_HOME\log directory. In our example, the new nodename is 'rmntops1' so you will have a directory called:
E:\oracle\product\10.2.0\crs\log\rmntops2
there will be a cssd subdirectory here, containing an ocssd.log file. Check the end of this logfile for a reconfiguration message such as the one listed below to confirm that the Cluster Service has started successfully:
[ CSSD]CLSS-3000: reconfiguration successful, incarnation 2 with 2 nodes
[ CSSD]CLSS-3001: local node number 2, master node number 1
Step 6: Finalizing the CRS install
Note that since you have copied the CRS_HOME directory from the existing node, you will also have a subdirectory for the existing node, which should be removed. From our example, on node rmntops2, you can delete the directory called:
E:\oracle\product\10.2.0\crs\log\rmntops1
Finally, if you have installed the Oracle Process Manager Daemon on your existing cluster nodes, the add node operation will not install that service, so you will need to follow the steps in Note 358156.1 to install The Oracle Process Manager on the new node.
Notes:
1.
If original install was done as Local Administrator, the cloning
operation should also be done using 'the' administrator account. By the
same token, if the original inistall was done as a domain account, then
the cloning should be done as the same account.
If you are unsure what account did the original install, then run ocrdump from an existing node to confirm the account name.
2.
If you are using an OCR mirror and/or additional vote disks, the
parameter passed to the setup.exe -clone command should be:
"n_storageTypeVDSK=1 n_storageTypeOCR=1"
instead of
"n_storageTypeVDSK=2 n_storageTypeOCR=2"
References
BUG:5706002 - CLONING INSTRUCTIONS FOR WINDOWS INCORRECT
浙公网安备 33010602011771号