RAC Installation Pre requisites :
Perform following below activities on all the Nodes (paw-racnode1 and paw-racnode2, paw-racnode3)
[root@paw-racnode1 ~]# umount tmpfs
[root@paw-racnode1 ~]# mount -t tmpfs shmfs -o size=1800m /dev/shm
[root@paw-racnode1 ~]# vi /etc/fstab
tmpfs /dev/shm tmpfs size=1800m 0 0
[root@paw-racnode1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 25G 5.7G 18G 25% /
/dev/sda5 5.9G 141M 5.4G 3% /tmp
/dev/sda3 20G 196M 19G 2% /u02
/dev/sda2 25G 173M 23G 1% /u01
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 1.8G 0 1.8G 0% /dev/shm
/dev/sr0 3.6G 3.6G 0 100% /media/SAI-OS-5U7_64bit
[root@paw-racnode1 ~]# vi /etc/sysctl.conf
# My Entries
echo kernel.shmall = 2097152 >> /etc/sysctl.conf
echo kernel.shmmax = 1054504960 >> /etc/sysctl.conf
echo kernel.shmmni = 4096 >> /etc/sysctl.conf
echo # semaphores: semmsl, semmns, semopm, semmni >> /etc/sysctl.conf
echo kernel.sem = 250 32000 100 128 >> /etc/sysctl.conf
echo fs.file-max = 6815744 >> /etc/sysctl.conf
echo net.ipv4.ip_local_port_range = 9000 65500 >> /etc/sysctl.conf
echo net.core.rmem_default = 262144 >> /etc/sysctl.conf
echo net.core.rmem_max = 4194304 >> /etc/sysctl.conf
echo net.core.wmem_default = 262144 >> /etc/sysctl.conf
echo net.core.wmem_max = 1048576 >> /etc/sysctl.conf
echo fs.aio-max-nr = 1048576 >> /etc/sysctl.conf
[root@paw-racnode1 ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmall = 4294967296
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1054504960
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
[root@paw-racnode1 ~]# vi /etc/security/limits.conf
# My Entries
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
“OR”
echo oracle soft nproc 2047 >> /etc/security/limits.conf
echo oracle hard nproc 16384 >> /etc/security/limits.conf
echo oracle soft nofile 1024 >> /etc/security/limits.conf
echo oracle hard nofile 65536 >> /etc/security/limits.conf
echo grid hard nproc 16384 >> /etc/security/limits.conf
echo grid hard nofile 65536 >> /etc/security/limits.conf
[root@paw-racnode1 ~]# vi /etc/pam.d/login
session required pam_limits.so
“OR”
echo session required /lib/security/pam_limits.so >> /etc/pam.d/login
selinux should be disable:
[root@paw-racnode1 ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
Now Add following O/S User groups( Do this:
[root@paw-racnode1 ~]#
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmdba
groupadd -g 506 asmoper
And Create 2 Users – 1: oracle and 2: grid :–
useradd -g oinstall -G dba,oper,asmdba oracle
useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid
Change the password of bot the users :–
passwd oracle
Changing password for user oracle.
New UNIX password:oracle
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:oracle
passwd: all authentication tokens updated successfully.
passwd grid
Changing password for user oracle.
New UNIX password:grid
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:grid
passwd: all authentication tokens updated successfully.
Now Create a User for Grid Installation:
mkdir -p /u01/app/11.2.0/grid #GRID_HOME
mkdir -p /u01/app/oracle/product/11.2.0/db_1 # ORACLE_HOME
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u02/software
mkdir -p /u02/RPM
chown -R grid:oinstall /u01/app
chown -R grid:oinstall /u01/app/11.2.0/grid
chown -R grid:oinstall /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
chmod -R 775 /u01/app/oracle/product/11.2.0/db_1
chmod -R 775 /u01/app/grid
chmod -R 775 /u01/app/oracle
chmod 777 /u02
chmod 777 /u02/software
chmod 777 /u02/RPM
[root@paw-racnode1 ~]# vi /home/oracle/.bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=paw-racnode1.airydba.com; export ORACLE_HOSTNAME
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
GRID_BASE=/u01/app/grid; export GRID_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
ORACLE_SID=racdb1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM BASE_PATH=/usr/sbin:$PATH;
export BASE_PATH PATH=$ORACLE_HOME/bin:$BASE_PATH:$GRID_HOME/bin;
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 CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'
[root@paw-racnode1 ~]# vi /home/grid/.bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=paw-racnode1.airydba.com; export ORACLE_HOSTNAME
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
GRID_BASE=/u01/app/grid; export GRID_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM BASE_PATH=/usr/sbin:$PATH;
export BASE_PATH PATH=$ORACLE_HOME/bin:$BASE_PATH:$GRID_HOME/bin;
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 CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'
[root@paw-racnode1 ~]# chmod 777 /home/oracle/.bash_profile
[root@paw-racnode1 ~]# . /home/oracle/.bash_profile
[root@paw-racnode1 ~]# echo $ORACLE_HOME
[root@paw-racnode1 ~]# echo $GRID_HOME
--------------------------------------------------------------------
[root@paw-racnode1 ~]# chmod 777 /home/grid/.bash_profile
[root@paw-racnode1 ~]# . /home/grid/.bash_profile
[root@paw-racnode1 ~]# echo $ORACLE_HOME
[root@paw-racnode1 ~]# echo $GRID_HOME
[root@paw-racnode1 ~]# vi /home/oracle/db_env
ORACLE_SID=racdb1; export ORACLE_SID
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; 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 CLASSPATH
[root@paw-racnode1 ~]# cp /home/oracle/db_env /home/grid/db_env
[root@paw-racnode1 ~]# chmod 777 /home/oracle/db_env
[root@paw-racnode1 ~]# chmod 777 /home/grid/db_env
————————————————————————
[root@paw-racnode1 ~]# vi /home/oracle/grid_env
ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
GRID_HOME=$ORACLE_HOME; export GRID_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 CLASSPATH
[root@paw-racnode1 ~]# cp /home/oracle/grid_env /home/grid/grid_env
[root@paw-racnode1 ~]# chmod 777 /home/oracle/grid_env
[root@paw-racnode1 ~]# chmod 777 /home/grid/grid_env
Now copy oracle’s and ASM’s, RPMs in a Directory /u01/RPM on all the nodes and perform below given RPM’s installation on all the Nodes(paw-racnode1, paw-racnode2, paw-racnode3).
[root@paw-racnode1 ~]# cd /u01/RPM
[root@paw-racnode1 RPM]# ll
total 24096
-rwxrw-rw- 1 root root 3016394 Sep 16 2011 binutils-2.17.50.0.6-6.0.1.el5.i386.rpm
-rwxrw-rw- 1 root root 5477834 Nov 15 2011 gcc-4.1.2-44.el5.i386.rpm
-rwxrw-rw- 1 root root 3593086 Nov 15 2011 gcc-c++-4.1.2-44.el5.i386.rpm
-rwxrw-rw- 1 root root 4558796 Nov 15 2011 glibc-2.5-24.i386.rpm
-rwxrw-rw- 1 root root 11345 Jan 24 2012 libaio-devel-0.3.106-3.2.i386.rpm
-rwxrw-rw- 1 root root 12094 Jan 24 2012 libaio-devel-0.3.106-5.i386.rpm
-rwxrw-rw- 1 root root 11884 Jan 24 2012 libaio-devel-0.3.106-5.x86_64.rpm
-rwxrw-rw- 1 root root 95764 Nov 15 2011 libgcc-4.1.2-44.el5.i386.rpm
-rwxrw-rw- 1 root root 68422 Nov 15 2011 libgomp-4.3.2-7.el5.i386.rpm
-rwxrw-rw- 1 root root 371622 Nov 15 2011 libstdc++-4.1.2-44.el5.i386.rpm
-rwxrw-rw- 1 root root 2999656 Nov 15 2011 libstdc++-devel-4.1.2-44.el5.i386.rpm
-rwxrw-rw- 1 root root 23102 Sep 17 2011 libXp-1.0.0-8.1.el5.i386.rpm
-rwxrw-rw- 1 root root 1079629 Sep 17 2011 openmotif21-2.1.30-11.EL5.i386.rpm
-rwxrw-rw- 1 root root 1013605 Sep 16 2011 openmotif21-2.1.30-11.RHEL4.2.i386.rpm
-rwxrw-rw- 1 root root 130018 Nov 14 2011 oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm
-rwxrw-rw- 1 root root 137329 Jan 24 2012 oracleasm-2.6.18-274.el5-2.0.5-1.el5.x86_64.rpm
-rwxrw-rw- 1 root root 13929 Nov 14 2011 oracleasmlib-2.0.4-1.el5.i386.rpm
-rwxrw-rw- 1 root root 85687 Nov 14 2011 oracleasm-support-2.1.7-1.el5.i386.rpm
-rwxrw-rw- 1 root root 173457 Nov 15 2011 sysstat-7.0.2-3.el5.i386.rpm
-rwxrw-rw- 1 root root 868885 Nov 14 2011 unixODBC-devel-2.2.11-7.1.i386.rpm
-rwxrw-rw- 1 root root 814677 Jan 24 2012 unixODBC-devel-2.2.11-7.1.x86_64.rpm
[root@paw-racnode1 RPM]# rpm -ivh oracleasm-support-2.1.7-1.el5.i386.rpm
warning: oracleasm-support-2.1.7-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasm-support ########################################### [100%]
[root@paw-racnode1 RPM]# rpm -ivh oracleasm-2.6.18-274.el5-2.0.5-1.el5.x86_64.rpm
warning: oracleasm-2.6.18-274.el5-2.0.5-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasm-2.6.18-274.el########################################### [100%]
[root@paw-racnode1 RPM]# rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm
warning: oracleasmlib-2.0.4-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasmlib ########################################### [100%]
[root@paw-racnode1 RPM]# rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm
warning: unixODBC-devel-2.2.11-7.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 652e84dc
Preparing... ########################################### [100%]
1:unixODBC-devel ########################################### [100%]
[root@paw-racnode1 RPM]# rpm -ivh unixODBC-devel-2.2.11-7.1.x86_64.rpm
warning: unixODBC-devel-2.2.11-7.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:unixODBC-devel ########################################### [100%]
[root@paw-racnode1 RPM]# rpm -ivh libaio-devel-0.3.106-5.i386.rpm
warning: libaio-devel-0.3.106-5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 652e84dc
Preparing... ########################################### [100%]
1:libaio-devel ########################################### [100%]
[root@paw-racnode1 RPM]# rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm
warning: libaio-devel-0.3.106-5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 652e84dc
Preparing... ########################################### [100%]
1:libaio-devel ########################################### [100%]
Modify /etc/sysconfig/ntpd by adding “-x” in the “OPTIONS” on all nodes.
[root@paw-racnode1 RPM]#cat /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
# Set to 'yes' to sync hw clock after successful ntpdate
SYNC_HWCLOCK=no
# Additional options for ntpdate
NTPDATE_OPTIONS=""
[root@paw-racnode1 RPM]# service ntpd start
Thank you for reading… This is Airy…Enjoy Learning 🙂