top of page

Oracle 11gR2 RAC Installation on Oracle Linux 6.5

A complete guide to installing Oracle 11gR2 RAC on Oracle Linux 6.5.

In this article we will be installing 2 node 11gR2 RAC on Oracle Linux 6.5. We will be looking at below steps


Configure VM for Node 1


Open virtual box and create a new VM for node 1. We will be installing OEL 6.5 on both RAC nodes.


Create New VM


Open virtual box and click on New. Create first virtual machine with oraracn1 as the name

create virtual machine - name and operating system

Min RAM allocation should be 4 GB per RAC node

create virtual machine - memory size

Create a virtual disk now

create virtual machine - hard disk

Select VDI and click next

create virtual hard disk - virtualbox disk image

Select Dynamically allocated option and click next

create virtual hard disk - storage on physical hard disk

Allocate Min 80 GB HDD to your virtual machine. You can allocate even more if you have good hard disk space. Click on Create

create virtual hard disk - file location and size

Now your virtual machine should be created. This is how your virtual box will look like


Right click on virtual machine and select settings. Under System settings, make sure to set below bootorder

virtual machin settings - system settings

Under storage > Optical Drive > choose OEL 6.5 iso file from your system.

virtual machine - load iso file in settings

Under Network, make sure attached to is set to Bridged Adapter and Enable the Network Adapter

virtualbox network settings

In RAC, we need to have two network adapters. So, enable the second adapter same like the first one.

virtualbox network settings

Click on OK to complete the RAC node 1 setup.



Install OEL 6.5 on Node 1


Now that our virtual machine is ready, go ahead, start the virtual machine and install OEL 6.5

oracle 11gr2 rac installation - oracle linux 6

Skip media test

oracle 11gr2 rac installation - skip media test

Click next to continue

oracle 11gr2 rac installation - oracle linux 6

Go with default language > click next

oracle 11gr2 rac installation - language

Go with default keyboard type and click on next

oracle 11gr2 rac installation - select appropriate keyboard

Select Basic Storage Devices > Click Next

oracle 11gr2 rac installation - basic storage devices

Select Yes, Discard and data

oracle 11gr2 rac installation - discard

Give a hostname to your machine oraracn1.oraclgenesis.com

oracle 11gr2 rac installation - hostname

Click on configure network and assign a static IP

oracle 11gr2 rac installation - configure network connections

Assign public IP to your machine. In my case, I have assigned 192.168.0.101 as the machine IP

oracle 11gr2 rac installation - IP address

Select second network card and click on edit

oracle 11gr2 rac installation - second network card

Assign private IP to your node 1 on a different subnet mask. Leave Gateway blank

editing system eth0 - Assign private IP

Click next and select your timezone

prod_srv on oralab - Select Timezone

Give a root password

prod_srv on oralab - root

Select create custom layout and click next

prod_srv - create custom layout

Select Free disk space and click on create

prod_serv on oralab - mount point

Choose standard partition and click Create

prod_srv on oralab - select standard partition

Create boot partition with 512 MB size

create boot partition with 512 MB size

Once again choose free disk space and click on create

oracle free disk

Select file system type as Swap and give 15 GB size (Approx 15000 MB)

oracle file system type - swap

Again select free space and click on create

oracle 11gr2 rac installation - select free space

Give mount point as root (/) and chose option Fill to maximum allowable size

oracle 11gr2 rac installation - mount point /

Click next and choose Format option

oracle format

Select Write changes to disk

oracle 11gr2 rac installation - write changes to disk

No changes on below screen, just click next

oracle 11gr2 rac installation - oracle linux server

Choose customize now and just click next

oracle 11gr2 rac installation - basic server

From the list, select packages as below:


Base System

  • Base

  • Client management tools

  • Compatibility libraries

  • Hardware monitoring utilities

  • Large Systems Performance

  • Network file system client

  • Performance Tools

  • Perl Support

Servers

  • Server Platform

  • System administration tools

  • Desktops

  • Desktop

  • Desktop Platform

  • Fonts

  • General Purpose Desktop

  • Graphical Administration Tools

  • Input Methods

  • X Window System

Development

  • Additional Development

  • Development Tools

Applications

  • Internet Browser

oracle 11gr2 rac installation - oracle base

Click next and OEL installation will begin

oracle 11gr2 rac installation - begin oel installation

Once done, click on Reboot

oel installation reboot

After reboot, there are few post installation steps. Click on Forward

oracle post installation steps

Accept the license and click on Forward

oracle 11gr2 rac installation - Accept the license

Choose No and click on Forward

setup software updates

Select No thanks and proceed

firstboot - select no, thanks

Click forward

oracle 11gr2 rac installation - finish updates setup

Do not create any user at this stage, click forward

oracle 11gr2 rac installation - create user

Choose Yes

system

Check the Date and Time settings and click on forward

oracle change date and time

Nothing to choose under Kdump, click forward

oracle - kdump

OEL 6.5 installation is completed.



Configure VM for Node 2


You need to create Node 2 like how you have created Node 1 in virtual box. This will be a separate new virtual machine. I have used below configuration for node 2:

configure vm for node 2

Install OEL 6.5 on Node 2


Now that our virtual machine is ready, go ahead and start the virtual machine.

install oel 6.5 on Node 2

Start virtual machine and install OEL 6.5

Configure VM for Node 2 - install oel 6.5

Skip media test

Configure VM for Node 2 - skip media test

Click next to continue

oracle 11gr2 rac installation on oracle linux 6.5

Go with default language > click next

prod_srv on oracle - change language

Go with default keyboard type and click on next

Configure VM for Node 2 - select the appropriate keyboard

Select Basic Storage Devices > Click Next

Configure VM for Node 2 - select basic devices

Select Yes, Discard and data

Configure VM for Node 2 - select yes, discard any data

Give a hostname to your machine oraracn2.oraclgenesis.com

Configure VM for Node 2 - give hostname

Click on configure network and assign a static IP

Configure VM for Node 2 - configure network and assign static IP

Assign public IP to your machine. In my case, I have assigned 192.168.0.102 as the machine IP.

configure vm for node 2 - public IP

Select second network card and click on edit

configure vm for node 2 - select system eth1

Assign private IP to your node 2 on a different subnet mask. Leave Gateway blank

configure vm for node 2 - assign private ip to node 2

Click next and select your timezone

configure vm for node 2 - select time zone

Give a root password

configure vm for node 2 - give root password

Select create custom layout and click next

configure vm for node 2 - create custom layout

Select Free disk space and click on create

configure vm for node 2 - select free disk space

Choose standard partition and click Create

configure vm for node 2 - select standard partition

Create boot partition with 512 MB size

configure vm for node 2- create /boot partitions

Once again choose free disk space and click on create

configure vm for node 2 - choose free disk space

Select file system type as Swap and give 15 GB size (Approx 15000 MB)

configure vm for node 2 - select file system type as swap

Again select free space and click on create

configure vm for node 2 - free disk space

Give mount point as root (/) and chose option Fill to maximum allowable size

configure vm for node 2 - mount point /

Click next and chose Format option

configure vm for node 2 - select device

Select Write changes to disk

configure vm for node 2 - select write changes to disk

No changes on below screen, just click next

configure vm for node 2 - no changes boot loader

Choose customize now and just click next

oracle linux server - select customize now

From the list, select packages as below


Base System


select the package - base system
select the package - networking

Servers:Desktops

select the package - servers

Desktops

select the package - desktop - desktop platform

Applications

select the package - applications internet browser

Development

select the package - development tools

Click next and OEL installation will begin

install oel

Once done, click on Reboot

install oel - reboot

After reboot, there are few post installation steps. Click on Forward

oracle oel installation - post installation steps

Accept the license and click on Forward

configure vm for node 2 - accept the license

Choose No and click on Forward

configure vm for node 2 - setup software updates

Select No thanks and proceed

configure vm for node 2 - updates

Click forward

configure vm for node 2 - finish updates setup

Do not create any user at this stage, click forward

configure vm for node 2 - create user

Choose Yes

configure vm for node 2

Check the Date and Time settings and click on forward

configure vm for node 2 - check date and time

Nothing to choose under Kdump, click forward

configure vm for node 2 - kdump

OEL 6.5 installation on Node 2 is completed.

configure vm for node 2 - oel 6.5 installation


OS Prerequisites – All Nodes


Connect to both RAC nodes via putty and execute all the below commands on both nodes.


Check if your machine is able to speak to internet. You can ping yahoo.com. Then install below package to perform all oracle installation pre-requisites

yum -y install oracle-rdbms*

Install ASM packages

yum -y install oracleasm*
yum -y install kmod-oracleasm

Change password for oracle user

passwd oracle

Disable firewall

/etc/rc.d/init.d/iptables status
/etc/rc.d/init.d/iptables stop
service iptables stop
chkconfig iptables off
echo 0 > /selinux/enforce

Create directories to install grid and oracle software

mkdir -p /u01/app/11.2.0/grid mkdir -p /u01/app/oracle/product/11.2.0/db_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01/

mkdir -p /u02
chown -R oracle:oinstall /u02

Download Oracle 11.2.0.4 gird and database binaries. Copy it to /u02 location (Only on Node 1)

oracle 11g grid software installation


Setup Public & Private Network


We have below public and private network configuration for our RAC setup

setup public & private network - rac setup on node 1

Also, below are the Virtual IP and Scan IP details:

setup public & private network - rac setup on node 2

Depending upon your environment, change IP addresses and put below under /etc/hosts file on both oraracn1 and oraracn2 nodes

On both nodes:
==============
127.0.0.1 localhost.localdomain localhost

# Public Network	- (eth0)
192.168.0.101	oraracn1.oraclegenesis.com	oraracn1
192.168.0.102	oraracn2.oraclegenesis.com	oraracn2

# Private Interconnect - (eth1)
10.10.10.101	oraracn1-priv.oraclegenesis.com	oraracn1-priv
10.10.10.102	oraracn2-priv.oraclegenesis.com	oraracn2-priv

# Public Virtual	IP (VIP) addresses - (eth0:1)	
192.168.0.105	oraracn1-vip.oraclegenesis.com	oraracn1-vip
192.168.0.106	oraracn2-vip.oraclegenesis.com	oraracn2-vip

# Single Client Access Name (SCAN)	
192.168.0.110	orarac-scan.oraclegenesis.com	orarac-scan

Test the network configuration

On oraracn1:	
============	
# ping oraracn1          --> use Ctrl+C to exit from ping
# ping oraracn2	
# ping oraracn1-priv	
# ping oraracn2-priv	

On oraracn2:	
============	
# ping oraracn1          --> use Ctrl+C to exit from ping
# ping oraracn2	
# ping oraracn1-priv	
# ping oraracn2-priv

Note: You cannot ping VIP and SCAN IP. Those IPs can only be used by an application and are not ping-able!


Configure Shared Storage


At this stage, shutdown both the virtual machines. We will allocate shared disks to RAC nodes. Open oraracn1 virtual machine settings and select storage. Click on Adds Hard Disk button under SATA controller

Configure Shared Storage - adds hard disk

Choose Create new disk

Configure Shared Storage - create new disk

Choose VDI and click Next

Configure Shared Storage - select vdi

Select Fixed size and click Next

Configure Shared Storage - select fixed size

Allocate 100 GB of shared storage to your RAC setup

Configure Shared Storage- file location size

This will take some time to add shared disk to Node 1

configure shared storage

Once disk is added, you can see the disk under Node 1 settings > storage

configure shared storage - storage

Now our goal is to make newly added disk on node 1 shared with node 2. For this, go to File > Virtual Media Manager

configure shared storage - virtual media manager

Select your shared disk > right click > choose Modify

configure shared storage- hard disk

Change the property from Normal to Shareable and click on OK

virtualbox shared disk between multiple machines - shareable hard disk

Now we are ready to share the disk with Node 2. Open oraracn2 settings > Storage > Adds hard disk icon

configure shared storage - storage-adds hard disk

Do not create a new disk, Choose existing disk

configure shared storage - sata

Locate your shared disk at OS level. It must mostly be stored under your Node 1 location

configure shared storage - share disk at os level

The disk must now be shared with node 2 as well. You will see the RAC Shared Storage below

configure shared storage - disk shared with node 2

Create Shared Partitions


Now that we have 100 GB of shared storage, we need to create three partitions for the main three ASM disk groups

create shared partitions for asm disks

Create three partitions under the newly added 100 GB shared disk via node 1

On Node 1:
==========
fdisk /dev/sdb
n
p
1
<enter>
+10G

============ Frist partition is created, create second one ============

n
p
1
<enter>
+45G

============ Second partition is created, create third one =============

n
p
1
<enter>
+45G

======= All partitions are created, now save the partition table ==========

w	 this command will save the partition table

Configure ASM & ASM Disks


As we have created 3 partitions, we must allocate each partition to single ASM disks, which will then be allocated to ASM Disk groups

configure asm & asm disks

Configure ASM on both nodes

On Node 1 as root user:
=======================
/usr/sbin/oracleasm configure -i

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y

On Node 2 as root user:
=======================
/usr/sbin/oracleasm configure -i

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y

Load oracle-asm kernel module on both nodes. This command Creates the /etc/sysconfig/oracleasm configuration file, creates the /dev/oracleasm mount point and mounts the ASMLib driver file system

On Node 1 as root user:
=======================
/usr/sbin/oracleasm init


On Node 2 as root user:
=======================
/usr/sbin/oracleasm init

Create ASM disks – Any one Node

On Node 1 as root user:
=======================
oracleasm createdisk CRS1 /dev/sdb5
oracleasm createdisk DATA1 /dev/sdb6
oracleasm createdisk FRA1 /dev/sdb7

Run below commands on both nodes to scan and list ASM disks

oracleasm scandisks
oracleasm listdisks


Oracle Grid Installation


Oracle grid software is the one which binds multiple independent servers into a cluster. You can configure ASM only when Oracle grid is installed because ASM is bundled with Oracle Grid Software.


Configure NTP – All Nodes

On Node 1 and Node 2:
=====================
#	yum install ntp
#	service ntpd start
#	chkconfig ntpd on

# vi /etc/sysconfig/ntpd	-> Open file delete all and put below line

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"

#	service ntpd stop
#	ntpdate 1.tw.pool.ntp.org
#	service ntpd start

Now its good time to clean-up the YUM repository to release some space from the disk

On both nodes as root user:
===========================
# yum clean all

Set Bash Profile


Setup oracle user bash profile on node 1

#	su - oracle
#	vi .bash_profile

#	Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=oraracn1; export ORACLE_HOSTNAME
ORACLE_UNQNAME=RAC; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
DB_HOME=$ORACLE_BASE/product/11.2.0/db_1; export DB_HOME
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPAT H

alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'

Create a file to set grid variables on node 1. This file will set grid environmental variables making it easy to switch between DB home and grid home.

# vi /home/oracle/grid_env

ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_HOME=$GRID_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPAT H

Create below file to set database environmental variables on Node 1

# vi /home/oracle/db_env

ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPAT H

Setup oracle user bash profile on node 2

# su - oracle
# vi .bash_profile

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=oraracn2; export ORACLE_HOSTNAME
ORACLE_UNQNAME=RAC; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
DB_HOME=$ORACLE_BASE/product/11.2.0/db_1; export DB_HOME
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
ORACLE_SID=RAC2; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPAT H

alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'

Create a file to set grid variables on node 2. This file will set grid environmental variables making it easy to switch between DB home and grid home.

# vi /home/oracle/grid_env

ORACLE_SID=+ASM2; export ORACLE_SID
ORACLE_HOME=$GRID_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPAT H

Create below file to set database environmental variables on Node 2

# vi /home/oracle/db_env

ORACLE_SID=RAC2; export ORACLE_SID
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPAT H

At this stage, exit as oracle user and the open another terminal with new session OR switch to root user and then back to oracle user. This will make the new environmental variables in effect.


Now it’s time to test our environment variables and check if they are working fine or not. As oracle user, execute below commands on both nodes to check if environmental variables are set properly

Node	1:
-------
su –	oracle
# . grid_env	     --To set grid env variables
# env |grep ORA
ORACLE_UNQNAME=RAC
ORACLE_SID=+ASM1
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=oraracn1
ORACLE_TERM=xterm
ORACLE_HOME=/u01/app/11.2.0/grid

# . db_env	     --To set DB env variables
# env |grep ORA
ORACLE_UNQNAME=RAC
ORACLE_SID=RAC1
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=oraracn1
ORACLE_TERM=xterm
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
Node	2:		
-------		
su –	oracle		
# . grid_env	     --To set grid env variables	
# env |grep ORA
ORACLE_UNQNAME=RAC
ORACLE_SID=+ASM2
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=oraracn2
ORACLE_TERM=xterm
ORACLE_HOME=/u01/app/11.2.0/grid

# . db_env	     --To set DB env variables
# env |grep ORA
ORACLE_UNQNAME=RAC
ORACLE_SID=RAC2
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=oraracn2
ORACLE_TERM=xterm
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

Configure SSH Between Nodes


Configure SSH connectivity between the nodes as oracle user. There are two methods to setup SSH connectivity between the nodes is: Manual method and automatic method. The manual method is very long and you might encounter errors while doing it. The easy way is the automatic method via script provided by oracle.


As you have already copied the grid and database software files under /u02, unzip the grid software file. This will create a new folder name grid under /u02. Oracle provides automatic ssh setup script

On node 1 as oracle user:
=========================
cd /u02
unzip <grid_software_file_name>

cd grid/sshsetup

./sshUserSetup.sh -user oracle -hosts "oraracn1 oraracn2" -noPromptPassphrase -confir m -advanced

Run cluvfy utility


Oracle provide a pre-installation utility which is called as Cluster Verification Utility (CLUVFY). This utility performs cluster verification before, during and after install of grid software. Let us run CLUVFY utility to check cluster before installation of grid

# /u01/softwares/grid
# ./runcluvfy.sh stage -pre crsinst -n oraracn1,oraracn2 -fixup -verbose

Below is the sample output

[oracle@oraracn1 grid]$ ./runcluvfy.sh stage -pre crsinst -n oraracn1,oraracn2 -fixup -verbose 
 
Performing pre-checks for cluster services setup 
 
Checking node reachability... 
 
Check: Node reachability from node "oraracn1"   
Destination Node                      Reachable?   
------------------------------------  ------------------------   
oraracn2                              yes   
oraracn1                              yes 
Result: Node reachability check passed from node "oraracn1"
 
Checking user equivalence... 
 
Check: User equivalence for user "oracle"   
Node Name                             Comment   
------------------------------------  ------------------------   
oraracn1                              passed   
oraracn2                              passed 
Result: User equivalence check passed for user "oracle" 
 
Checking node connectivity... 
 
Checking hosts config file...   
Node Name     Status                    Comment   
------------  ------------------------  ------------------------   
oraracn1      passed   
oraracn2      passed 
 
Verification of the hosts config file successful

Interface information for node "oraracn1"  
Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU  
------ --------------- --------------- --------------- --------------- ---------------- ------  
eth0   192.168.0.151   192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:B6:0 F:87 1500  
eth1   10.10.10.151    10.10.10.0      0.0.0.0         192.168.0.1     00:0C:29:B6:0 F:91 1500 
 
 
Interface information for node "oraracn2"  
Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU  
------ --------------- --------------- --------------- --------------- ---------------- ------  
eth0   192.168.0.152   192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:81:9 1:FA 1500  
eth1   10.10.10.152    10.10.10.0      0.0.0.0         192.168.0.1     00:0C:29:81:9 1:04 1500 
 
 
Check: Node connectivity of subnet "192.168.0.0"
Source                          Destination                     Connected?
------------------------------  ------------------------------  ---------
oraracn1:eth0                   oraracn2:eth0                   yes
Result: Node connectivity passed for subnet "192.168.0.0" with node(s) oraracn1,orara cn2
 
 
Check: TCP connectivity of subnet "192.168.0.0"   
Source                          Destination                     Connected?   
--------------------            ------------------------        --------
oraracn1:192.168.0.151          oraracn2:192.168.0.152          passed 
Result: TCP connectivity check passed for subnet "192.168.0.0" 
 
 
Check: Node connectivity of subnet "10.10.10.0"   
Source                          Destination                     Connected?   
------------------------------  -------------------             -----------  
oraracn1:eth1                   oraracn2:eth1                   yes 
Result: Node connectivity passed for subnet "10.10.10.0" with node(s) oraracn1,orarac n2 
 
 
Check: TCP connectivity of subnet "10.10.10.0"   
Source                          Destination                     Connected?   
------------------------------  -------------                   ----------         
oraracn1:10.10.10.151           oraracn2:10.10.10.152           passed 
Result: TCP connectivity check passed for subnet "10.10.10.0" 
 
 
Interfaces found on subnet "192.168.0.0" that are likely candidates for VIP are: oraracn1 eth0:192.168.0.151 
oraracn2 eth0:192.168.0.152

Interfaces found on subnet "10.10.10.0" that are likely candidates for a private inte rconnect are: 
oraracn1 eth1:10.10.10.151 
oraracn2 eth1:10.10.10.152 
 
Result: Node connectivity check passed 
 
 
Check: Total memory   
Node Name     Available                 Required                  Comment   
------------  ------------------------  ------------------------  ----------
oraracn1      2.44GB (2559180.0KB)      1.5GB (1572864.0KB)       passed
oraracn2      2.44GB (2559180.0KB)      1.5GB (1572864.0KB)       passed
Result: Total memory check passed 
 
Check: Available memory   
Node Name     Available                 Required                  Comment   
------------  ------------------------  ------------------------  ----------
oraracn1      2.11GB (2211952.0KB)      50MB (51200.0KB)          passed
oraracn2      2.19GB (2294412.0KB)      50MB (51200.0KB)          passed
Result: Available memory check passed 
 
Check: Swap space   
Node Name     Available                 Required                  Comment   
------------  ------------------------  ------------------------  ----------
oraracn1      4.88GB (5116692.0KB)      2.44GB (2559180.0KB)      passed
oraracn2      4.88GB (5116692.0KB)      2.44GB (2559180.0KB)      passed
Result: Swap space check passed 
 
Check: Free disk space for "oraracn1:/tmp"   
Path              Node Name     Mount point   Available     Required      Comment   
----------------  ------------  ------------  ------------  ------------  --------
/tmp              oraracn1      /             4.94GB        1GB           passed
Result: Free disk space check passed for "oraracn1:/tmp" 
 
Check: Free disk space for "oraracn2:/tmp"   
Path              Node Name     Mount point   Available     Required      Comment   
----------------  ------------  ------------  ------------  ------------  ---------
/tmp              oraracn2      /             4.71GB        1GB           passed
Result: Free disk space check passed for "oraracn2:/tmp" 
 
Check: User existence for "oracle"   
Node Name     Status                    Comment   
------------  ------------------------  ------------------------   
oraracn1      exists                    passed   
oraracn2      exists                    passed 
Result: User existence check passed for "oracle" 
 
Check: Group existence for "oinstall"   
Node Name     Status                    Comment   
------------  ------------------------  ------------------------   
oraracn1      exists                    passed   
oraracn2      exists                    passed 
Result: Group existence check passed for "oinstall"

Check: Group existence for "dba"
Node Name     Status                    Comment
------------  ------------------------  ------------------------
oraracn1      exists                    passed
oraracn2      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
-----------  ---------   ---------     ------------   ------------ -------
oraracn1     yes         yes           yes            yes          passed
oraracn2     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
----------------  ------------  ------------  ------------  ----------------
oraracn1          yes           yes           yes           passed
oraracn2          yes           yes           yes           passed
Result: Membership check for user "oracle" in group "dba" passed 
 
Check: Run level   
Node Name     run level    Required                Comment
------------  -----------  -----------             -----------
oraracn1      5            3,5                     passed
oraracn2      5            3,5                     passed
Result: Run level check passed 
 
Check: Hard limits for "maximum open file descriptors"
Node Name         Type          Available     Required      Comment
----------------  ------------  ------------  ------------  ----------------
oraracn1          hard          131072        65536         passed
oraracn2          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
----------------  ------------  ------------  ------------  ----------------
oraracn1          soft          131072        1024          passed
oraracn2          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
----------------  ------------  ------------  ------------  ----------------
oraracn1          hard          131072        16384         passed
oraracn2          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
----------------  ------------  ------------  ------------  ----------------
oraracn1          soft          131072        2047          passed
oraracn2          soft          131072        2047          passed
Result: Soft limits check passed for "maximum user processes"

Check: System architecture
Node Name     Available                 Required                  Comment
-----------  ------------------------  ------------------------  ----------
oraracn1     x86_64                    x86_64                    passed
oraracn2     x86_64                    x86_64                    passed
Result: System architecture check passed 
 
Check: Kernel version
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      2.6.18-164.el5            2.6.18                    passed
oraracn2      2.6.18-164.el5            2.6.18                    passed
Result: Kernel version check passed 
 
Check: Kernel parameter for "semmsl"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      250                       250                       passed
oraracn2      250                       250                       passed
Result: Kernel parameter check passed for "semmsl" 
 
Check: Kernel parameter for "semmns"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      32000                     32000                     passed
oraracn2      32000                     32000                     passed
Result: Kernel parameter check passed for "semmns" 
 
Check: Kernel parameter for "semopm"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      100                       100                       passed
oraracn2      100                       100                       passed
Result: Kernel parameter check passed for "semopm" 
 
Check: Kernel parameter for "semmni"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      142                       128                       passed
oraracn2      142                       128                       passed
Result: Kernel parameter check passed for "semmni" 
 
Check: Kernel parameter for "shmmax"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      4398046511104             536870912                 passed
oraracn2      4398046511104             536870912                 passed
Result: Kernel parameter check passed for "shmmax" 
 
Check: Kernel parameter for "shmmni"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      4096                      4096                      passed
oraracn2      4096                      4096                      passed
Result: Kernel parameter check passed for "shmmni"

Check: Kernel parameter for "shmall"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      4294967296                2097152                   passed
oraracn2      4294967296                2097152                   passed
Result: Kernel parameter check passed for "shmall" 
 
Check: Kernel parameter for "file-max"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      6815744                   6815744                   passed
oraracn2      6815744                   6815744                   passed
Result: Kernel parameter check passed for "file-max" 
 
Check: Kernel parameter for "ip_local_port_range"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      between 9000 & 65500      between 9000 & 65500      passed
oraracn2      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
------------  ------------------------  ------------------------  ----------
oraracn1      262144                    262144                    passed
oraracn2      262144                    262144                    passed
Result: Kernel parameter check passed for "rmem_default" 
 
Check: Kernel parameter for "rmem_max"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      4194304                   4194304                   passed
oraracn2      4194304                   4194304                   passed
Result: Kernel parameter check passed for "rmem_max" 
 
Check: Kernel parameter for "wmem_default"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      262144                    262144                    passed
oraracn2      262144                    262144                    passed
Result: Kernel parameter check passed for "wmem_default" 
 
Check: Kernel parameter for "wmem_max"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      1048576                   1048576                   passed
oraracn2      1048576                   1048576                   passed
Result: Kernel parameter check passed for "wmem_max" 
 
Check: Kernel parameter for "aio-max-nr"
Node Name     Configured                Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      3145728                   1048576                   passed
oraracn2      3145728                   1048576                   passed
Result: Kernel parameter check passed for "aio-max-nr"


Check: Package existence for "make-3.81"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      make-3.81-3.el5           make-3.81                 passed
oraracn2      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
------------  ------------------------  ------------------------  ----------
oraracn1      binutils-2.17.50.0.6-12.el5  binutils-2.17.50.0.6      passed
oraracn2      binutils-2.17.50.0.6-12.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
------------  ------------------------  ------------------------  ----------
oraracn1      gcc-4.1.2-46.el5          gcc-4.1.2                 passed
oraracn2      gcc-4.1.2-46.el5          gcc-4.1.2                 passed
Result: Package existence check passed for "gcc-4.1.2" 
 
Check: Package existence for "libaio-0.3.106 (i386)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      libaio-0.3.106-5 (i386)   libaio-0.3.106 (i386)     passed
oraracn2      libaio-0.3.106-5 (i386)   libaio-0.3.106 (i386)     passed
Result: Package existence check passed for "libaio-0.3.106 (i386)" 
 
Check: Package existence for "libaio-0.3.106 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      libaio-0.3.106-5 (x86_64)  libaio-0.3.106 (x86_64)   passed
oraracn2      libaio-0.3.106-5 (x86_64)  libaio-0.3.106 (x86_64)   passed
Result: Package existence check passed for "libaio-0.3.106 (x86_64)" 
 
Check: Package existence for "glibc-2.5-24 (i686)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      glibc-2.5-42 (i686)       glibc-2.5-24 (i686)       passed
oraracn2      glibc-2.5-42 (i686)       glibc-2.5-24 (i686)       passed
Result: Package existence check passed for "glibc-2.5-24 (i686)" 
 
Check: Package existence for "glibc-2.5-24 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      glibc-2.5-42 (x86_64)     glibc-2.5-24 (x86_64)     passed
oraracn2      glibc-2.5-42 (x86_64)     glibc-2.5-24 (x86_64)     passed
Result: Package existence check passed for "glibc-2.5-24 (x86_64)" 
 
Check: Package existence for "compat-libstdc++-33-3.2.3 (i386)"
Node Name     Available                            Required                   Comment  
------------  ------------------------             -----------------------    -------
oraracn1      compat-libstdc++-33-3.2.3-61 (i386)  compat-libstdc++-33-3.2.3 (i386)
passed
oraracn2      compat-libstdc++-33-3.2.3-61 (i386)  compat-libstdc++-33-3.2.3 (i386)
passed
Result: Package existence check passed for "compat-libstdc++-33-3.2.3 (i386)" 


Check: Package existence for "compat-libstdc++-33-3.2.3 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      compat-libstdc++-33-3.2.3-61 (x86_64)  compat-libstdc++-33-3.2.3 (x86 _64)  passed
oraracn2      compat-libstdc++-33-3.2.3-61 (x86_64)  compat-libstdc++-33-3.2.3 (x86 _64)  passed
Result: Package existence check passed for "compat-libstdc++-33-3.2.3 (x86_64)" 
 
Check: Package existence for "elfutils-libelf-0.125 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      elfutils-libelf-0.137-3.el5 (x86_64)  elfutils-libelf-0.125 (x86_64)  passed
oraracn2      elfutils-libelf-0.137-3.el5 (x86_64)  elfutils-libelf-0.125 (x86_64)  passed
Result: Package existence check passed for "elfutils-libelf-0.125 (x86_64)" 
 
Check: Package existence for "elfutils-libelf-devel-0.125"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      elfutils-libelf-devel-0.137-3.el5  elfutils-libelf-devel-0.125  passed
oraracn2      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
------------  ------------------------  ------------------------  ----------
oraracn1      glibc-common-2.5-42       glibc-common-2.5          passed
oraracn2      glibc-common-2.5-42       glibc-common-2.5          passed
Result: Package existence check passed for "glibc-common-2.5" 
 
Check: Package existence for "glibc-devel-2.5 (i386)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      glibc-devel-2.5-42 (i386)  glibc-devel-2.5 (i386)    passed
oraracn2      glibc-devel-2.5-42 (i386)  glibc-devel-2.5 (i386)    passed
Result: Package existence check passed for "glibc-devel-2.5 (i386)" 
 
Check: Package existence for "glibc-devel-2.5 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      glibc-devel-2.5-42 (x86_64)  glibc-devel-2.5 (x86_64)  passed
oraracn2      glibc-devel-2.5-42 (x86_64)  glibc-devel-2.5 (x86_64)  passed
Result: Package existence check passed for "glibc-devel-2.5 (x86_64)" 
 
Check: Package existence for "glibc-headers-2.5"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      glibc-headers-2.5-42      glibc-headers-2.5         passed
oraracn2      glibc-headers-2.5-42      glibc-headers-2.5         passed
Result: Package existence check passed for "glibc-headers-2.5"


Check: Package existence for "gcc-c++-4.1.2"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      gcc-c++-4.1.2-46.el5      gcc-c++-4.1.2             passed
oraracn2      gcc-c++-4.1.2-46.el5      gcc-c++-4.1.2             passed
Result: Package existence check passed for "gcc-c++-4.1.2" 
 
Check: Package existence for "libaio-devel-0.3.106 (i386)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      libaio-devel-0.3.106-5 (i386)  libaio-devel-0.3.106 (i386)  passed
oraracn2      libaio-devel-0.3.106-5 (i386)  libaio-devel-0.3.106 (i386)  passed
Result: Package existence check passed for "libaio-devel-0.3.106 (i386)" 
 
Check: Package existence for "libaio-devel-0.3.106 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      libaio-devel-0.3.106-5 (x86_64)  libaio-devel-0.3.106 (x86_64)  passed
oraracn2      libaio-devel-0.3.106-5 (x86_64)  libaio-devel-0.3.106 (x86_64)  passed
Result: Package existence check passed for "libaio-devel-0.3.106 (x86_64)" 
 
Check: Package existence for "libgcc-4.1.2 (i386)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      libgcc-4.1.2-46.el5 (i386)  libgcc-4.1.2 (i386)       passed
oraracn2      libgcc-4.1.2-46.el5 (i386)  libgcc-4.1.2 (i386)       passed
Result: Package existence check passed for "libgcc-4.1.2 (i386)" 
 
Check: Package existence for "libgcc-4.1.2 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      libgcc-4.1.2-46.el5 (x86_64)  libgcc-4.1.2 (x86_64)     passed
oraracn2      libgcc-4.1.2-46.el5 (x86_64)  libgcc-4.1.2 (x86_64)     passed
Result: Package existence check passed for "libgcc-4.1.2 (x86_64)" 
 
Check: Package existence for "libstdc++-4.1.2 (i386)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      libstdc++-4.1.2-46.el5 (i386)  libstdc++-4.1.2 (i386)    passed
oraracn2      libstdc++-4.1.2-46.el5 (i386)  libstdc++-4.1.2 (i386)    passed
Result: Package existence check passed for "libstdc++-4.1.2 (i386)" 
 
Check: Package existence for "libstdc++-4.1.2 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      libstdc++-4.1.2-46.el5 (x86_64)  libstdc++-4.1.2 (x86_64)  passed
oraracn2      libstdc++-4.1.2-46.el5 (x86_64)  libstdc++-4.1.2 (x86_64)  passed
Result: Package existence check passed for "libstdc++-4.1.2 (x86_64)" 
 
Check: Package existence for "libstdc++-devel-4.1.2 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      libstdc++-devel-4.1.2-46.el5 (x86_64)  libstdc++-devel-4.1.2 (x86_64)
passed
oraracn2      libstdc++-devel-4.1.2-46.el5 (x86_64)  libstdc++-devel-4.1.2 (x86_64)
passed
Result: Package existence check passed for "libstdc++-devel-4.1.2 (x86_64)"


Check: Package existence for "sysstat-7.0.2"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      sysstat-7.0.2-13.0.1.el5  sysstat-7.0.2             passed
oraracn2      sysstat-7.0.2-13.0.1.el5  sysstat-7.0.2             passed
Result: Package existence check passed for "sysstat-7.0.2" 
 
Check: Package existence for "unixODBC-2.2.11 (i386)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      unixODBC-2.2.11-10.el5 (i386)  unixODBC-2.2.11 (i386)    passed
oraracn2      unixODBC-2.2.11-10.el5 (i386)  unixODBC-2.2.11 (i386)    passed
Result: Package existence check passed for "unixODBC-2.2.11 (i386)" 
 
Check: Package existence for "unixODBC-2.2.11 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      unixODBC-2.2.11-10.el5 (x86_64)  unixODBC-2.2.11 (x86_64)  passed
oraracn2      unixODBC-2.2.11-10.el5 (x86_64)  unixODBC-2.2.11 (x86_64)  passed
Result: Package existence check passed for "unixODBC-2.2.11 (x86_64)" 
 
Check: Package existence for "unixODBC-devel-2.2.11 (i386)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      unixODBC-devel-2.2.11-10.el5 (i386)  unixODBC-devel-2.2.11 (i386)  passed
oraracn2      unixODBC-devel-2.2.11-10.el5 (i386)  unixODBC-devel-2.2.11 (i386)  passed
Result: Package existence check passed for "unixODBC-devel-2.2.11 (i386)" 
 
Check: Package existence for "unixODBC-devel-2.2.11 (x86_64)"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      unixODBC-devel-2.2.11-10.el5 (x86_64)  unixODBC-devel-2.2.11 (x86_64)  passed
oraracn2      unixODBC-devel-2.2.11-10.el5 (x86_64)  unixODBC-devel-2.2.11 (x86_64)  passed
Result: Package existence check passed for "unixODBC-devel-2.2.11 (x86_64)" 
 
Check: Package existence for "ksh-20060214"
Node Name     Available                 Required                  Comment
------------  ------------------------  ------------------------  ----------
oraracn1      ksh-20080202-14.el5       ksh-20060214              passed
oraracn2      ksh-20080202-14.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
------------  ------------------------  ------------------------
oraracn1      does not exist            passed
oraracn2      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
------------  ------------------------  ------------------------  ----------
oraracn1      0022                      0022                      passed
oraracn2      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... Network Time Protocol(NTP) configuration file not found on any of the nodes. Oracle C luster Time Synchronization Service(CTSS) can be used instead of NTP for time synchro nization on the cluster nodes 
 
Result: Clock synchronization check using Network Time Protocol(NTP) passed 
 
 
Pre-check for cluster services setup was successful. 

Note: You must see Pre-check for cluster services setup was successful at the end of the cluvfy output.


Install Grid Software


The following steps will guide you to install Oracle Grid software with Oracle ASM binaries. As oracle user, start the grid runInstaller

On Node 1: 
==========
su – oracle 

# cd /u02/grid/ 
# ./runInstaller

Note: sometimes there might be display variable error. issues below command as root user to enable GUI

# xhost +

Under Select Installation Option, choose Install and Configure Grid Infrastructure for a Cluster and Click Next

oracle grid infrastructure - install and configure grid infrastructure for a cluster

Select Advanced Installation and click Next

oracle grid infrastructure - advanced installation

Select Advanced Installation and click Next

oracle grid infrastructure - product languages

Input below details and click Next

oracle grid infrastructure - grid plug and play information

Below screen will list out the nodes which you want to install and configure as part of Grid

oracle grid infrastructure - cluster node information

Click on Add and enter details of Node 2. Click on OK

oracle grid infrastructure - add cluster node information

In case you have more than two nodes, Add each node by clicking on Add. Click Next to proceed

oracle grid infrastructure - cluster node information

Specify network interface by selecting public and private interfaces. Click Next

oracle grid infrastructure - specify network interface usage

Select storage option as Automatic Storage Management (ASM). Click Next

oracle grid infrastructure - automatic storage management asm

You need to assign a disk where the grid installer will keep OCR and Voting disks. Click on Change Discovery Path, type /dev/oracleasm/disks/* and click OK. Under Add Disks, you must see the three disks which we have created as part of Shard Storage.


Before you proceed, sometimes you might not see the lists of disks. In such cases, follow below:


1. Check if /dev/sdb1, /dev/sdc1, /dev/sdd1 had ownership as oracle user. If not then issue below commands as root user on both nodes

# chown oracle:oinstall /dev/sdb1
# chown oracle:oinstall /dev/sdc1
# chown oracle:oinstall /dev/sdd1

2. Also give full permissions on above disks

# chmod 777 /dev/sdb1
# chmod 777 /dev/sdc1
# chmod 777 /dev/sdd1

Again go to Change Discovery Path, type /dev/oracleasm/disks/* and click OK. Now all the disks will be listed. Type Disk Group Name as CRS, Redundancy as External and under Disk Path /dev/oracleasm/disks/CRSVOL1

oracle grid infrastructure - create asm disk group

Now provide password for sys user and click Next

oracle grid infrastructure - asm password

It will prompt you for password standard, just click on Yes

oracle grid infrastructure - password

Select Do Not Use IPMI and click Next

oracle grid infrastructure - do not use intelligent platform management interface ipmi

Go with default operating system groups and click Next. If prompted with notification, just click on Yes

oracle grid infrastructure - operating system groups

Provide Oracle Base and Software Installation Location. Click on Next

oracle grid infrastructure - provide oracle base and software installation location

Go with default inventory location. Click Next

oracle grid infrastructure - inventory directory

The run Installer will perform pre-requsites test again. If any step is failed, you must fix it before proceeding ahead

oracle grid infrastructure - perform prerequisite checks

The final screen displays installation summary. Important things to note here:

  • Oracle Base Location

  • Oracle Home – This should actually be grid home

Click on Finish to start the installation

oracle grid infrastructure - summary

Now the setup will start installing Grid Software on both nodes

oracle grid infrastructure - setup will start installing grid software on both nodes

Now the installer will prompt you for two root.sh scripts to be run on each node. Execute them as root user on both nodes one by one.


Your grid installation will finish and Cluster Verification Utility Filed error will be displayed. Just ignore the error.



Oracle RAC Installation


During the installation of Oracle grid infrastructure, we configured one ASM disk group named +CRS which was used to store the Oracle clusterware files (OCR and voting disk). Now we will configure ASM disk groups for DATA and FRA


Create DATA & FRA Diskgroups


Launch asmca form the command prompt as oracle user

On node 1:
==========

su – oracle
asmca

ASM Configuration Assistant window will launch. From the Disk Groups tab, click on Create.

asm configuration assistant - disk groups

The Create Disk Group window will open and it should show two of the ASMLib volumes we created earlier


Click on Create. Give a name to your DATA disk group. This disk group will hold database files. Then click on OK

create disk group - select show eligible
create disk group - DATA

Install Oracle RAC Software – Node 1 only


Unzip the database software files under /u02. There will be two files downloaded. Unzip them as oracle user one by one

#	su - oracle
#	cd /u02
#	unzip linux.x64_11gR2_database_1of2.zip
#	unzip linux.x64_11gR2_database_2of2.zip

Unzipping files will create a new folder as database under same location

# ls -lrt
drwxr-xr-x 8	oracle oinstall	4096	Aug 21	2009	database
-rwxr-xr-x 1	oracle oinstall 1052897657	Nov	2	09:41	linux.x64_11gR2_grid.zip
-rwxr-xr-x 1	oracle oinstall 1239269270	Dec	1	01:00	linux.x64_11gR2_database_1of2.zip
-rwxr-xr-x 1	oracle oinstall	1111416131	Dec	1	01:01	linux.x64_11gR2_database_2of2.zip

Go to database folder and start the runInstaller

#	cd database
#	./runInstaller
oracle database 11g release 2 installer - configure security updates
oracle database 11g release 2 installer - install database software only
oracle database 11g release 2 installer - real application cluster database installation
oracle database 11g release 2 installer - product languages
oracle database 11g release 2 installer - select database edition
oracle database 11g release 2 installer - select oracle base and software  installation location
oracle database 11g release 2 installer - operating system groups
oracle database 11g release 2 installer - prerequisite checks
oracle database 11g release 2 installer - install product
execute configuration scripts
oracle database 11g release 2 installer - oracle database installation finish


Create RAC Database


From node 1, start dbca as oracle user

On node 1:
==========
su - oracle
dbca
database configuration assistant - oracle real application customers database
database configuration assistant - customer database
database configuration assistant -  sid prefix
database configuration assistant - configure enterprise manager
database configuration assistant - use oracle managed files
database configuration assistant - asm credentials
database configuration assistant - specify flash recovery area
database configuration assistant - memory-use automatic memory management
database configuration assistant - database storage
database configuration assistant - create database
database configuration assistant - database configuration summary
database configuration assistant - creating and starting oracle instance

Done! Your 2 node RAC database is ready to use!

Become a top notch dba with DBA Genesis
Start your DBA career today
bottom of page