Preparing an OEL cluster for Oracle RAC using VMware server 2.X
Preparing an OEL cluster for Oracle RAC using VMware server 2.X
Using a VMware server is a convenient and cheap way to prepare a virtual cluster for testing Oracle RAC installation, upgrades and management. Though unsupported by Oracle it is an affordable alternative to test Oracle RAC features. Production systems can use SAN or NAS solutions which are reliable but do not fit a personal budget for testing Oracle RAC. This article describes how to use VMware server to configure a OEL cluster ready for Oracle RAC testing on Windows laptop or desktop. It can be used on a Linux platform as well. Alternative is using two Linux nodes with a shared storage like iSCSI or FireWire. The later is a more expensive as it requires second physical machine and iSCSI or FireWire storage and connections. VMware server used in this article is a solution enabling us to configure a shared storage on the guest OS eliminating the need for purchasing additional shared storage.
In this article we will look at:
Creating and sizing the virtual machine
Configuring the shared storage
Synchronizing the guest OS with the host OS.
We assume that we have downloaded the guest OEL and we have installed VMware server as indicated below. After login into VMware web infrastructure we will see the following screen.
First we create a VMware datastore to point to d:\software Windows directory to store the OEL 5.5 ISO file and to be used as a storage location for the VM files
After that we will initiate the process of creation of the Virtual machine by clicking on the Create Virtual Machine link on the upper right hand site of the screen. Once ”Create Virtual Machine” dialog box pop up we enter the name of virtual machine and specify the datastore where the VM configuration files will be stored. Press Next to continue.
We select the guest OS and version. Note that we select RH 5 despite that we will use OEL 5.5.
Press Next to continue.
Select 2GB for the RAM of the Virtual machine. Note the due to high memory demand for Oracle 11gR2 it is strongly recommended that 4 GB be selected. For testing Oracle 11gR2 2GB will suffice. After selecting the Memory and numbers of CPU press Next to continue.
Now we will opt for creation of the disk for the local virtual machine. Note that this disk will be private for each VM. We will look at the creation of the Shared disks later. Press Next to continue.
Now we will specify the properties of private VM disk. We specify 16GB capacity and location rac1/rac1.vmdk. This will create a file in the D:\software\rac1\rac1.vmds that will be used for the OEL 5.5 install. Once OEL is installed this VM disk will be used for creating the OEL file systems. We will have 16GB for the OEL private disk on each node. This is the disk space that will be allocated for each node. This disk space will be used for creation of the OEL file systems. Note that during OEL install while creating the OEL file systems we need to account for the space for Oracle staging areas and Oracle Homes. Press Next to continue.
Select Add a Network adapter and press Nest to continue.
Select Bridget and tick the Connect as Power on box and press Next to continue.
Select Use an ISO image and select the ISO image from the datastore. Later re configure the VM to use CD/DVD. Press Next to continue.
Select Add a USB Controller and press Next to continue.
Click the Finish to create the Virtual Machine.
The virtual machine is configured and we can start the guest OS (OEL) installation. We click on the created virtual machine on the left pane and click the start button. Click on the “Console” tab. If you have not previously installed the VMware browser plugin you will be prompted to do so. If it is already present, simply click on the black pane to the right to open a new console window. The OEL will have the OEL installation screen. Proceed until completion of the installation. I will install all of the rpm.
Complete the OEL installation selecting the settings that fit your locale, language and time.
For Oracle RAC installation it is relevant to install all the rpm, disable SELINX and Firewalls. The SELINUX and Firewall settings can be changed at a later stage. At a later stage also different rpm can be added or removed. After completion of the OEL install on the virtual machine we need to stop the VM and add the shared storage and the network interfaces for the public and private networks. Initially we created the virtual machine with one bridged network interface. This will correspond to OEL node with eth0 network interface. We will create a node with et0 to eth7 network interfaces. In order to have this we need to add additional 7 bridged interfaces altogether 8 bridged interfaces.
We will click on the Add Hardware then select Network Adapter.
We will specify bridged and press Next to continue.
Select Finish to add the network interface.
Repeat the process to add 8 bridged network interfaces to the Virtual Machine. So far we have installed the network interfaces to the Virtual machine for public and private interconnects (Later we will use eth0,eth2,eth4, eth6 for bond0 and eth1,eth3,eth5,eth5 for bond1). Next we will synchronize the time between the gust and the host OS. We will achieve this time synchronization by pressing the Install VMware Tools link from the upper right hand site on the screen.
The displayed below dialog box appears. Press Install to continue.
VMware tools gets mounted on the client console and we are prompted to install the VMware Tolls rpm.
Click Apply on the Installing packages.
Wait for the completion of the package installation.
Next, run the “vmware-config-tools.pl” script as the root user.
# vmware-config-tools.pl
Accept all the default settings and pick the screen resolution of your choice as show on the picture below. Ignore any warnings or errors. The VMware client tools are now installed.
Issue the “vmware-toolbox” command as the root user. On the subsequent dialog, check the “Time synchronization…” option and click the “Close” button.
So far we created the network adapters and synchronized the guest OS with the host OS. We will proceed further with the creation of the shared disks. The picture below show the VM status.
We will use Add Hardware link above to add the shared disks as follows. We will create asm1, asm2, asm2, asm4 and asm5 shared disks.
We will create a shared subdirectory in d:\software such as d:\software\shared. The shared subdirectory will be the placeholder for the shared disks.
We will create a single disk using the following steps. For asm1 click on the Add Hardware link and select Hard Disk.
Click on create a New Virtual Disk link.
Specify the capacity and the name of the 1st shared disk asm1.
Select Disk Mode and select Independent and Persistent option.
Click Finish when done to add the new disk.
Repeat the above steps 4 more times to add the remaining asm disks using the following values:
•File Name: [software] shared/asm2.vmdk
Virtual Device Node: SCSI 1:2
Mode: Independent and Persistent
•File Name: [software] shared/asm3.vmdk
Virtual Device Node: SCSI 1:3
Mode: Independent and Persistent
•File Name: [software] shared/asm4.vmdk
Virtual Device Node: SCSI 1:4
Mode: Independent and Persistent
•File Name: [software] shared/asm5.vmdk
Virtual Device Node: SCSI 1:5
Mode: Independent and Persistent
At the end of this process, the virtual machine should look something like the picture below.
Edit the content of the [software]RAC1/RAC1.vmx” file using a text editor, making sure the following entries in red are present. Some of the tries will already be present, some will not.
.encoding = “windows-1251”
config.version = “8”
virtualHW.version = “7”
floppy0.present = “FALSE”
mks.enable3d = “TRUE”
pciBridge0.present = “TRUE”
pciBridge4.present = “TRUE”
pciBridge4.virtualDev = “pcieRootPort”
pciBridge4.functions = “8”
pciBridge5.present = “TRUE”
pciBridge5.virtualDev = “pcieRootPort”
pciBridge5.functions = “8”
pciBridge6.present = “TRUE”
pciBridge6.virtualDev = “pcieRootPort”
pciBridge6.functions = “8”
pciBridge7.present = “TRUE”
pciBridge7.virtualDev = “pcieRootPort”
pciBridge7.functions = “8”
vmci0.present = “TRUE”
nvram = “RAC1.nvram”
virtualHW.productCompatibility = “hosted”
ft.secondary0.enabled = “TRUE”
tools.upgrade.policy = “useGlobal”
powerType.powerOff = “soft”
powerType.powerOn = “hard”
powerType.suspend = “hard”
powerType.reset = “soft”
displayName = “RAC1”
extendedConfigFile = “RAC1.vmxf”
disk.locking = “FALSE”
diskLib.dataCacheMaxSize = “0”
diskLib.dataCacheMaxReadAheadSize = “0”
diskLib.dataCacheMinReadAheadSize = “0”
diskLib.dataCachePageSize = “4096”
diskLib.maxUnsyncedWrites = “0”
scsi0.present = “TRUE”
scsi0.sharedBus = “none”
scsi0.virtualDev = “lsilogic”
memsize = “2048”
scsi0:0.present = “TRUE”
scsi0:0.fileName = “RAC1.vmdk”
scsi0:0.writeThrough = “TRUE”
ide1:0.present = “TRUE”
ide1:0.fileName = “C:\Program Files (x86)\VMware\VMware Server\linux.iso”
ide1:0.deviceType = “cdrom-image”
ide1:0.allowGuestConnectionControl = “FALSE”
ethernet0.present = “TRUE”
ethernet0.allowGuestConnectionControl = “FALSE”
ethernet0.features = “1”
ethernet0.wakeOnPcktRcv = “FALSE”
ethernet0.networkName = “Bridged”
ethernet0.addressType = “generated”
usb.present = “TRUE”
ehci.present = “TRUE”
guestOS = “rhel5”
uuid.location = “56 4d c5 48 8d 5e 5e a3-49 05 37 35 55 38 c8 4b”
uuid.bios = “56 4d c5 48 8d 5e 5e a3-49 05 37 35 55 38 c8 4b”
vc.uuid = “52 b3 c3 88 33 6e b7 82-01 1a a9 a0 19 9c d1 f0”
ethernet1.present = “TRUE”
ethernet1.allowGuestConnectionControl = “FALSE”
ethernet1.features = “1”
ethernet1.wakeOnPcktRcv = “FALSE”
ethernet1.networkName = “Bridged”
ethernet1.addressType = “generated”
ethernet2.present = “TRUE”
ethernet2.allowGuestConnectionControl = “FALSE”
ethernet2.features = “1”
ethernet2.wakeOnPcktRcv = “FALSE”
ethernet2.networkName = “Bridged”
ethernet2.addressType = “generated”
ethernet3.present = “TRUE”
ethernet3.allowGuestConnectionControl = “FALSE”
ethernet3.features = “1”
ethernet3.wakeOnPcktRcv = “FALSE”
ethernet3.networkName = “Bridged”
ethernet3.addressType = “generated”
ethernet4.present = “TRUE”
ethernet4.allowGuestConnectionControl = “FALSE”
ethernet4.features = “1”
ethernet4.wakeOnPcktRcv = “FALSE”
ethernet4.networkName = “Bridged”
ethernet4.addressType = “generated”
ethernet5.present = “TRUE”
ethernet5.allowGuestConnectionControl = “FALSE”
ethernet5.features = “1”
ethernet5.wakeOnPcktRcv = “FALSE”
ethernet5.networkName = “Bridged”
ethernet5.addressType = “generated”
ethernet6.present = “TRUE”
ethernet6.allowGuestConnectionControl = “FALSE”
ethernet6.features = “1”
ethernet6.wakeOnPcktRcv = “FALSE”
ethernet6.networkName = “Bridged”
ethernet6.addressType = “generated”
ethernet7.present = “TRUE”
ethernet7.allowGuestConnectionControl = “FALSE”
ethernet7.features = “1”
ethernet7.wakeOnPcktRcv = “FALSE”
ethernet7.networkName = “Bridged”
ethernet7.addressType = “generated”
ethernet0.generatedAddress = “00:0c:29:38:c8:4b”
ethernet1.generatedAddress = “00:0c:29:38:c8:55”
ethernet2.generatedAddress = “00:0c:29:38:c8:5f”
ethernet3.generatedAddress = “00:0c:29:38:c8:69”
ethernet4.generatedAddress = “00:0c:29:38:c8:73”
ethernet5.generatedAddress = “00:0c:29:38:c8:7d”
ethernet6.generatedAddress = “00:0c:29:38:c8:87”
ethernet7.generatedAddress = “00:0c:29:38:c8:91”
scsi0:0.redo = “”
vmotion.checkpointFBSize = “134217728”
pciBridge0.pciSlotNumber = “17”
pciBridge4.pciSlotNumber = “21”
pciBridge5.pciSlotNumber = “22”
pciBridge6.pciSlotNumber = “23”
pciBridge7.pciSlotNumber = “24”
scsi0.pciSlotNumber = “16”
usb.pciSlotNumber = “32”
ethernet0.pciSlotNumber = “33”
ethernet1.pciSlotNumber = “34”
ethernet2.pciSlotNumber = “35”
ethernet3.pciSlotNumber = “36”
ethernet4.pciSlotNumber = “37”
ethernet5.pciSlotNumber = “38”
ethernet6.pciSlotNumber = “39”
ethernet7.pciSlotNumber = “40”
ehci.pciSlotNumber = “41”
vmci0.pciSlotNumber = “42”
ethernet0.generatedAddressOffset = “0”
ethernet1.generatedAddressOffset = “10”
ethernet2.generatedAddressOffset = “20”
ethernet3.generatedAddressOffset = “30”
ethernet4.generatedAddressOffset = “40”
ethernet5.generatedAddressOffset = “50”
ethernet6.generatedAddressOffset = “60”
ethernet7.generatedAddressOffset = “70”
vmci0.id = “1429784651”
tools.remindInstall = “FALSE”
ide1:0.startConnected = “FALSE”
tools.syncTime = “TRUE”
scsi0:1.present = “FALSE”
scsi0:1.fileName = “d:\software\shared\asm1.vmdk”
scsi0:1.writeThrough = “TRUE”
scsi0:1.mode = “independent-persistent”
scsi0:2.present = “FALSE”
scsi0:2.fileName = “d:\software\shared\asm2.vmdk”
scsi0:2.writeThrough = “TRUE”
scsi0:2.mode = “independent-persistent”
scsi0:3.present = “FALSE”
scsi0:3.fileName = “d:\software\shared\asm3.vmdk”
scsi0:3.writeThrough = “TRUE”
scsi0:3.mode = “independent-persistent”
scsi0:4.present = “FALSE”
scsi0:4.fileName = “d:\software\shared\asm4.vmdk”
scsi0:4.writeThrough = “TRUE”
scsi0:4.mode = “independent-persistent”
scsi0:5.present = “FALSE”
scsi0:5.fileName = “d:\software\shared\asm5.vmdk”
scsi0:5.writeThrough = “TRUE”
scsi0:5.mode = “independent-persistent”
scsi1.present = “TRUE”
scsi1.sharedBus = “VIRTUAL”
scsi1.virtualDev = “lsilogic”
scsi1:1.present = “TRUE”
scsi1:1.fileName = “d:\software\shared\asm1.vmdk”
scsi1:1.writeThrough = “TRUE”
scsi1:1.mode = “independent-persistent”
scsi1:1.deviceType = “plainDisk”
scsi1:1.redo = “”
scsi1:2.present = “TRUE”
scsi1:2.fileName = “d:\software\shared\asm2.vmdk”
scsi1:2.writeThrough = “TRUE”
scsi1:2.mode = “independent-persistent”
scsi1:2.deviceType = “plainDisk”
scsi1:2.redo = “”
scsi1:3.present = “TRUE”
scsi1:3.fileName = “d:\software\shared\asm3.vmdk”
scsi1:3.writeThrough = “TRUE”
scsi1:3.mode = “independent-persistent”
scsi1:3.deviceType = “plainDisk”
scsi1:3.redo = “”
scsi1:4.present = “TRUE”
scsi1:4.fileName = “d:\software\shared\asm4.vmdk”
scsi1:4.writeThrough = “TRUE”
scsi1:4.mode = “independent-persistent”
scsi1:4.deviceType = “plainDisk”
scsi1:4.redo = “”
usb.autoConnect.device0 = “path:1/6/0 autoclean:1”
scsi1:5.present = “TRUE”
scsi1:5.fileName = “d:\software\shared\asm5.vmdk”
scsi1:5.writeThrough = “TRUE”
scsi1:5.mode = “independent-persistent”
scsi1:5.deviceType = “plainDisk”
scsi1:5.redo = “”
Start the RAC1 virtual machine by clicking the “Play” button on the toolbar, then start the console as before. When the server has started, log in as the root user so you can partition the disks. The current disks can be seen by issuing the following command ls /dev/sd*.
Use the “fdisk” command to partition the disks sdb to sdf. The following output shows the expected fdisk output for the sdb disk.
After partitioning all the disks /dev/sdb,/dev/ sdc, /dev/sdd, /dev/sde and/dev/ sdf we will have the following:
Next as root perform the following
- Install all the prerequisite rpm
- Make sure the Oracle RAC and Oracle grid installation prerequisites are met
Once finished setting the prerequisites clone the RAC1 virtual machine. As the present version 2.0 of VMware server does not have an explicit functionality to clone the Virtual Machines we will shutdown the RAC1 virtual machine and will copy the RAC1 directory into d:\software\RAC2 directory. Edit the RAC1.vmx file from RAC2 folder and change the display name to RAC2 In the VMware Infrastructure Web Access Console, select the “Virtual Machine > Add Virtual Machine to Inventory” menu options and browse for the “/RAC2/RAC1.vmx” file. Once opened, the RAC2 virtual machine is visible on the console. Select RAC1.vmx from theRAC2 folder and press OK.
RAC2 virtual machine is now visible on the console.
Start the RAC2 virtual machine by clicking the “Play” button on the toolbar. Select the “I _copied it” option click the “OK” button when prompted.
Login to RAC2 VM and remove all .bak network devices using the “Network Configuration” tool (System > Administration > Network).
For each entry in the /etc/hosts make sure that the network devices are properly configured. Use the Network Configuration tool as displayed on the above screens.
Perform bonding of the interfaces to have two interfaces bond0 and bond1.
Run cluvfy as shown below:
./runcluvfy.sh stage -pre crsinst -n raclinux1,raclinux2 –verbose
Performing pre-checks for cluster services setup
Checking node reachability…
Check: Node reachability from node “raclinux1”
Destination Node Reachable?
———————————— ————————
raclinux1 yes
raclinux2 yes
Result: Node reachability check passed from node “raclinux1”
Checking user equivalence…
Check: User equivalence for user “oracle”
Node Name Comment
———————————— ————————
raclinux2 passed
raclinux1 passed
Result: User equivalence check passed for user “oracle”
Checking node connectivity…
Checking hosts config file…
Node Name Status Comment
———— ———————— ————————
raclinux2 passed
raclinux1 passed
Verification of the hosts config file successful
Interface information for node “raclinux2”
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
—— ————— ————— ————— ————— —————– ——
virbr0 192.168.122.1 192.168.122.0 0.0.0.0 UNKNOWN 00:00:00:00:00:00 1500
bond0 192.168.2.132 192.168.2.0 0.0.0.0 UNKNOWN 00:0C:29:85:B0:7E 1500
bond1 10.10.4.132 10.10.4.0 0.0.0.0 UNKNOWN 00:0C:29:85:B0:88 1500
Interface information for node “raclinux1”
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
—— ————— ————— ————— ————— —————– ——
virbr0 192.168.122.1 192.168.122.0 0.0.0.0 UNKNOWN 00:00:00:00:00:00 1500
bond0 192.168.2.131 192.168.2.0 0.0.0.0 UNKNOWN 00:0C:29:38:C8:4B 1500
bond1 10.10.4.131 10.10.4.0 0.0.0.0 UNKNOWN 00:0C:29:38:C8:55 1500
Check: Node connectivity of subnet “192.168.122.0”
Source Destination Connected?
—————————— —————————— —————-
raclinux2:virbr0 raclinux1:virbr0 yes
Result: Node connectivity passed for subnet “192.168.122.0” with node(s) raclinux2,raclinux1
Check: TCP connectivity of subnet “192.168.122.0”
Result: TCP connectivity check failed for subnet “192.168.122.0”
Check: Node connectivity of subnet “192.168.2.0”
Source Destination Connected?
—————————— —————————— —————-
raclinux2:bond0 raclinux1:bond0 yes
Result: Node connectivity passed for subnet “192.168.2.0” with node(s) raclinux2,raclinux1
Check: TCP connectivity of subnet “192.168.2.0”
Source Destination Connected?
—————————— —————————— —————-
raclinux1:192.168.2.131 raclinux2:192.168.2.132 failed
Result: TCP connectivity check failed for subnet “192.168.2.0”
Check: Node connectivity of subnet “10.10.4.0”
Source Destination Connected?
—————————— —————————— —————-
raclinux2:bond1 raclinux1:bond1 yes
Result: Node connectivity passed for subnet “10.10.4.0” with node(s) raclinux2,raclinux1
Check: TCP connectivity of subnet “10.10.4.0”
Source Destination Connected?
—————————— —————————— —————-
raclinux1:10.10.4.131 raclinux2:10.10.4.132 failed
Result: TCP connectivity check failed for subnet “10.10.4.0”
Interfaces found on subnet “192.168.122.0” that are likely candidates for a private interconnect are:
raclinux2 virbr0:192.168.122.1
raclinux1 virbr0:192.168.122.1
Interfaces found on subnet “192.168.2.0” that are likely candidates for a private interconnect are:
raclinux2 bond0:192.168.2.132
raclinux1 bond0:192.168.2.131
Interfaces found on subnet “10.10.4.0” that are likely candidates for a private interconnect are:
raclinux2 bond1:10.10.4.132
raclinux1 bond1:10.10.4.131
WARNING:
Could not find a suitable set of interfaces for VIPs
Result: Node connectivity check passed
Check: Total memory
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 1.98GB (2075488.0KB) 1.5GB (1572864.0KB) passed
raclinux1 1.98GB (2075488.0KB) 1.5GB (1572864.0KB) passed
Result: Total memory check passed
Check: Available memory
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 1.79GB (1880648.0KB) 50MB (51200.0KB) passed
raclinux1 1.77GB (1856332.0KB) 50MB (51200.0KB) passed
Result: Available memory check passed
Check: Swap space
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 3.94GB (4128760.0KB) 2.97GB (3113232.0KB) passed
raclinux1 3.94GB (4128760.0KB) 2.97GB (3113232.0KB) passed
Result: Swap space check passed
Check: Free disk space for “raclinux2:/tmp”
Path Node Name Mount point Available Required Comment
—————- ———— ———— ———— ———— ————
/tmp raclinux2 / 26.18GB 1GB passed
Result: Free disk space check passed for “raclinux2:/tmp”
Check: Free disk space for “raclinux1:/tmp”
Path Node Name Mount point Available Required Comment
—————- ———— ———— ———— ———— ————
/tmp raclinux1 / 11.33GB 1GB passed
Result: Free disk space check passed for “raclinux1:/tmp”
Check: User existence for “oracle”
Node Name Status Comment
———— ———————— ————————
raclinux2 exists passed
raclinux1 exists passed
Result: User existence check passed for “oracle”
Check: Group existence for “oinstall”
Node Name Status Comment
———— ———————— ————————
raclinux2 exists passed
raclinux1 exists passed
Result: Group existence check passed for “oinstall”
Check: Group existence for “dba”
Node Name Status Comment
———— ———————— ————————
raclinux2 exists passed
raclinux1 exists passed
Result: Group existence check passed for “dba”
Check: Membership of user “oracle” in group “oinstall” [as Primary]
Node Name User Exists Group Exists User in Group Primary Comment
—————- ———— ———— ———— ———— ————
raclinux2 yes yes yes yes passed
raclinux1 yes yes yes yes passed
Result: Membership check for user “oracle” in group “oinstall” [as Primary] passed
Check: Membership of user “oracle” in group “dba”
Node Name User Exists Group Exists User in Group Comment
—————- ———— ———— ———— —————-
raclinux2 yes yes yes passed
raclinux1 yes yes yes passed
Result: Membership check for user “oracle” in group “dba” passed
Check: Run level
Node Name run level Required Comment
———— ———————— ———————— ———-
raclinux2 5 3,5 passed
raclinux1 5 3,5 passed
Result: Run level check passed
Check: Hard limits for “maximum open file descriptors”
Node Name Type Available Required Comment
—————- ———— ———— ———— —————-
raclinux2 hard 131072 65536 passed
raclinux1 hard 131072 65536 passed
Result: Hard limits check passed for “maximum open file descriptors”
Check: Soft limits for “maximum open file descriptors”
Node Name Type Available Required Comment
—————- ———— ———— ———— —————-
raclinux2 soft 131072 1024 passed
raclinux1 soft 131072 1024 passed
Result: Soft limits check passed for “maximum open file descriptors”
Check: Hard limits for “maximum user processes”
Node Name Type Available Required Comment
—————- ———— ———— ———— —————-
raclinux2 hard 131072 16384 passed
raclinux1 hard 131072 16384 passed
Result: Hard limits check passed for “maximum user processes”
Check: Soft limits for “maximum user processes”
Node Name Type Available Required Comment
—————- ———— ———— ———— —————-
raclinux2 soft 131072 2047 passed
raclinux1 soft 131072 2047 passed
Result: Soft limits check passed for “maximum user processes”
Check: System architecture
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 i686 x86 passed
raclinux1 i686 x86 passed
Result: System architecture check passed
Check: Kernel version
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 2.6.18-194.el5PAE 2.6.18 passed
raclinux1 2.6.18-194.el5PAE 2.6.18 passed
Result: Kernel version check passed
Check: Kernel parameter for “semmsl”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 250 250 passed
raclinux1 250 250 passed
Result: Kernel parameter check passed for “semmsl”
Check: Kernel parameter for “semmns”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 32000 32000 passed
raclinux1 32000 32000 passed
Result: Kernel parameter check passed for “semmns”
Check: Kernel parameter for “semopm”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 100 100 passed
raclinux1 100 100 passed
Result: Kernel parameter check passed for “semopm”
Check: Kernel parameter for “semmni”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 128 128 passed
raclinux1 128 128 passed
Result: Kernel parameter check passed for “semmni”
Check: Kernel parameter for “shmmax”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 536870912 536870912 passed
raclinux1 536870912 536870912 passed
Result: Kernel parameter check passed for “shmmax”
Check: Kernel parameter for “shmmni”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 4096 4096 passed
raclinux1 4096 4096 passed
Result: Kernel parameter check passed for “shmmni”
Check: Kernel parameter for “shmall”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 2097152 2097152 passed
raclinux1 2097152 2097152 passed
Result: Kernel parameter check passed for “shmall”
Check: Kernel parameter for “file-max”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 6815744 6815744 passed
raclinux1 6815744 6815744 passed
Result: Kernel parameter check passed for “file-max”
Check: Kernel parameter for “ip_local_port_range”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 between 9000 & 65500 between 9000 & 65500 passed
raclinux1 between 9000 & 65500 between 9000 & 65500 passed
Result: Kernel parameter check passed for “ip_local_port_range”
Check: Kernel parameter for “rmem_default”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 262144 262144 passed
raclinux1 262144 262144 passed
Result: Kernel parameter check passed for “rmem_default”
Check: Kernel parameter for “rmem_max”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 4194304 4194304 passed
raclinux1 4194304 4194304 passed
Result: Kernel parameter check passed for “rmem_max”
Check: Kernel parameter for “wmem_default”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 262144 262144 passed
raclinux1 262144 262144 passed
Result: Kernel parameter check passed for “wmem_default”
Check: Kernel parameter for “wmem_max”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 1048586 1048576 passed
raclinux1 1048586 1048576 passed
Result: Kernel parameter check passed for “wmem_max”
Check: Kernel parameter for “aio-max-nr”
Node Name Configured Required Comment
———— ———————— ———————— ———-
raclinux2 1048576 1048576 passed
raclinux1 1048576 1048576 passed
Result: Kernel parameter check passed for “aio-max-nr”
Check: Package existence for “make-3.81”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 make-3.81-3.el5 make-3.81 passed
raclinux1 make-3.81-3.el5 make-3.81 passed
Result: Package existence check passed for “make-3.81”
Check: Package existence for “binutils-2.17.50.0.6”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 binutils-2.17.50.0.6-14.el5 binutils-2.17.50.0.6 passed
raclinux1 binutils-2.17.50.0.6-14.el5 binutils-2.17.50.0.6 passed
Result: Package existence check passed for “binutils-2.17.50.0.6”
Check: Package existence for “gcc-4.1.2”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 gcc-4.1.2-48.el5 gcc-4.1.2 passed
raclinux1 gcc-4.1.2-48.el5 gcc-4.1.2 passed
Result: Package existence check passed for “gcc-4.1.2”
Check: Package existence for “gcc-c++-4.1.2”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 gcc-c++-4.1.2-48.el5 gcc-c++-4.1.2 passed
raclinux1 gcc-c++-4.1.2-48.el5 gcc-c++-4.1.2 passed
Result: Package existence check passed for “gcc-c++-4.1.2”
Check: Package existence for “libgomp-4.1.2”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 libgomp-4.4.0-6.el5 libgomp-4.1.2 passed
raclinux1 libgomp-4.4.0-6.el5 libgomp-4.1.2 passed
Result: Package existence check passed for “libgomp-4.1.2”
Check: Package existence for “libaio-0.3.106”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 libaio-0.3.106-5 libaio-0.3.106 passed
raclinux1 libaio-0.3.106-5 libaio-0.3.106 passed
Result: Package existence check passed for “libaio-0.3.106”
Check: Package existence for “glibc-2.5-24”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 glibc-2.5-49 glibc-2.5-24 passed
raclinux1 glibc-2.5-49 glibc-2.5-24 passed
Result: Package existence check passed for “glibc-2.5-24”
Check: Package existence for “compat-libstdc++-33-3.2.3”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3 passed
raclinux1 compat-libstdc++-33-3.2.3-61 compat-libstdc++-33-3.2.3 passed
Result: Package existence check passed for “compat-libstdc++-33-3.2.3”
Check: Package existence for “elfutils-libelf-0.125”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.125 passed
raclinux1 elfutils-libelf-0.137-3.el5 elfutils-libelf-0.125 passed
Result: Package existence check passed for “elfutils-libelf-0.125”
Check: Package existence for “elfutils-libelf-devel-0.125”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.125 passed
raclinux1 elfutils-libelf-devel-0.137-3.el5 elfutils-libelf-devel-0.125 passed
Result: Package existence check passed for “elfutils-libelf-devel-0.125”
Check: Package existence for “glibc-common-2.5”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 glibc-common-2.5-49 glibc-common-2.5 passed
raclinux1 glibc-common-2.5-49 glibc-common-2.5 passed
Result: Package existence check passed for “glibc-common-2.5”
Check: Package existence for “glibc-devel-2.5”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 glibc-devel-2.5-49 glibc-devel-2.5 passed
raclinux1 glibc-devel-2.5-49 glibc-devel-2.5 passed
Result: Package existence check passed for “glibc-devel-2.5”
Check: Package existence for “glibc-headers-2.5”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 glibc-headers-2.5-49 glibc-headers-2.5 passed
raclinux1 glibc-headers-2.5-49 glibc-headers-2.5 passed
Result: Package existence check passed for “glibc-headers-2.5”
Check: Package existence for “libaio-devel-0.3.106”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 libaio-devel-0.3.106-5 libaio-devel-0.3.106 passed
raclinux1 libaio-devel-0.3.106-5 libaio-devel-0.3.106 passed
Result: Package existence check passed for “libaio-devel-0.3.106”
Check: Package existence for “libgcc-4.1.2”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 libgcc-4.1.2-48.el5 libgcc-4.1.2 passed
raclinux1 libgcc-4.1.2-48.el5 libgcc-4.1.2 passed
Result: Package existence check passed for “libgcc-4.1.2”
Check: Package existence for “libstdc++-4.1.2”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 libstdc++-4.1.2-48.el5 libstdc++-4.1.2 passed
raclinux1 libstdc++-4.1.2-48.el5 libstdc++-4.1.2 passed
Result: Package existence check passed for “libstdc++-4.1.2”
Check: Package existence for “libstdc++-devel-4.1.2”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 libstdc++-devel-4.1.2-48.el5 libstdc++-devel-4.1.2 passed
raclinux1 libstdc++-devel-4.1.2-48.el5 libstdc++-devel-4.1.2 passed
Result: Package existence check passed for “libstdc++-devel-4.1.2”
Check: Package existence for “sysstat-7.0.2”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 sysstat-7.0.2-3.el5 sysstat-7.0.2 passed
raclinux1 sysstat-7.0.2-3.el5 sysstat-7.0.2 passed
Result: Package existence check passed for “sysstat-7.0.2”
Check: Package existence for “unixODBC-2.2.11”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 unixODBC-2.2.11-7.1 unixODBC-2.2.11 passed
raclinux1 unixODBC-2.2.11-7.1 unixODBC-2.2.11 passed
Result: Package existence check passed for “unixODBC-2.2.11”
Check: Package existence for “unixODBC-devel-2.2.11”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 unixODBC-devel-2.2.11-7.1 unixODBC-devel-2.2.11 passed
raclinux1 unixODBC-devel-2.2.11-7.1 unixODBC-devel-2.2.11 passed
Result: Package existence check passed for “unixODBC-devel-2.2.11”
Check: Package existence for “ksh-20060214”
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 ksh-20100202-1.el5 ksh-20060214 passed
raclinux1 ksh-20100202-1.el5 ksh-20060214 passed
Result: Package existence check passed for “ksh-20060214”
Checking for multiple users with UID value 0
Result: Check for multiple users with UID value 0 passed
Check: Current group ID
Result: Current group ID check passed
Checking Core file name pattern consistency…
Core file name pattern consistency check passed.
Checking to make sure user “oracle” is not in “root” group
Node Name Status Comment
———— ———————— ————————
raclinux2 does not exist passed
raclinux1 does not exist passed
Result: User “oracle” is not part of “root” group. Check passed
Check default user file creation mask
Node Name Available Required Comment
———— ———————— ———————— ———-
raclinux2 0022 0022 passed
raclinux1 0022 0022 passed
Result: Default user file creation mask check passed
Starting Clock synchronization checks using Network Time Protocol(NTP)…
NTP Configuration file check started…
The NTP configuration file “/etc/ntp.conf” is available on all nodes
NTP Configuration file check passed
Checking daemon liveness…
Check: Liveness for “ntpd”
Node Name Running?
———————————— ————————
raclinux2 yes
raclinux1 yes
Result: Liveness check passed for “ntpd”
Checking NTP daemon command line for slewing option “-x”
Check: NTP daemon command line
Node Name Slewing Option Set?
———————————— ————————
raclinux2 yes
raclinux1 yes
Result:
NTP daemon slewing option check passed
Checking NTP daemon’s boot time configuration, in file “/etc/sysconfig/ntpd”, for slewing option “-x”
Check: NTP daemon’s boot time configuration
Node Name Slewing Option Set?
———————————— ————————
raclinux2 yes
raclinux1 yes
Result:
NTP daemon’s boot time configuration check for slewing option passed
NTP common Time Server Check started…
NTP Time Server “.LOCL.” is common to all nodes on which the NTP daemon is running
Check of common NTP Time Server passed
Clock time offset check from NTP Time Server started…
Checking on nodes “[raclinux2, raclinux1]”…
Check: Clock time offset from NTP Time Server
Time Server: .LOCL.
Time Offset Limit: 1000.0 msecs
Node Name Time Offset Status
———— ———————— ————————
raclinux2 0.0 passed
raclinux1 0.0 passed
Time Server “.LOCL.” has time offsets that are within permissible limits for nodes “[raclinux2, raclinux1]”.
Clock time offset check passed
Result: Clock synchronization check using Network Time Protocol(NTP) passed
Pre-check for cluster services setup was successful.
1 Comment »
Leave a Reply
-
Archives
- February 2017 (1)
- November 2016 (1)
- October 2016 (1)
- May 2016 (2)
- March 2016 (3)
- December 2014 (2)
- July 2014 (1)
- June 2014 (6)
- May 2014 (5)
- February 2014 (1)
- December 2012 (2)
- November 2012 (8)
-
Categories
-
RSS
Entries RSS
Comments RSS
[…] Oracle 11gR2 Grid Infrastructure installation version 11.2.0.1 is covered here. Linux installation is covered here. The prerequisites for the Oracle 11gR2 installation are described here. Setting up a VMware clusters for Oracle 11gR2 installation is covered here. […]