Guenadi N Jilevski's Oracle BLOG

Oracle RAC, DG, EBS, DR and HA DBA BLOG

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

  1. Install all the prerequisite rpm
  2. 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.

June 24, 2010 - Posted by | oracle

1 Comment »

  1. […] 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. […]

    Pingback by Fresh Oracle 11.2.0.2 Grid Infrastructure Installation PRVF-5150 PRVF-5184 « Guenadi N Jilevski's Oracle BLOG | October 3, 2010 | Reply


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: