#################################
Oracle 12c RAC Clusterware Setup
#################################
======================
HOST SYSTEMS SETUP
=====================
127.0.0.1 localhost.localdomain localhost
#Public
192.168.168.80 RAC1.rac.lab RAC1
192.168.168.81 RAC2.rac.lab RAC2
#Private
10.10.10.80 RAC1.rac.lab RAC1-priv
10.10.10.81 RAC2.rac.lab RAC2-priv
#VIP
192.168.168.82 RAC1-vip.rac.lab RAC1-vip
192.168.168.83 RAC2-vip.rac.lab RAC2-vip
#SCAN NAME - SCAN-RAC
192.168.168.84 SCAN-RAC.rac.lab SCAN-RAC
192.168.168.85 SCAN-RAC.rac.lab SCAN-RAC
192.168.168.86 SCAN-RAC.rac.lab SCAN-RAC
======================
OS GROUP USER SETUP
=====================
[root@rac1 yum.repos.d]# groupadd oinstall -g 9000
[root@rac1 yum.repos.d]# groupadd asmadmin -g 9001
[root@rac1 yum.repos.d]# groupadd asmdba -g 9002
[root@rac1 yum.repos.d]# groupadd asmoper -g 9003
[root@rac1 yum.repos.d]# useradd -m -u 9100 -g oinstall -G asmadmin,asmdba,asmoper grid
[root@rac1 yum.repos.d]# groupadd dba -g 9200
[root@rac1 yum.repos.d]# groupadd oper -g 9201
[root@rac1 yum.repos.d]# useradd -m -u 9300 -g oinstall -G dba,oper,asmdba oracle
[root@rac1 yum.repos.d]# passwd oracle
[root@rac1 yum.repos.d]# passwd grid
=============================
GI & ORACLE ORACLE_HOME DIR
=============================
For Grid Infrastrucutre: owned by grid with oinstall group
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/12cR1/grid
For Oracle RDBMS: owned by oracle with oinstall group
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/12cR1
[root@rac2 ~]# mkdir -p /u01/app/grid
[root@rac2 ~]# mkdir -p /u01/app/12cR1/grid
[root@rac2 ~]# chown -R grid:oinstall /u01
[root@rac2 ~]# mkdir -p /u01/app/oracle
[root@rac2 ~]# chown oracle:oinstall /u01/app/oracle
[root@rac2 ~]# su - oracle
[oracle@rac2 ~]$ cd /u01/app/oracle/
[oracle@rac2 oracle]$ mkdir -p 12cR1
======================
ENV VARIABLES
=====================
[root@rac1 ~]# su - grid
[grid@rac1 ~]$ vi .bash_profile
ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/12cR1/grid; export ORACLE_HOME
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
export PATH
[root@rac1 ~]# su - oracle
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/12cR1; export ORACLE_HOME
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
export PATH
=========================
SELINUX & FIREWALL
=========================
[root@rac1 ~]# vi /etc/selinux/config
SELINUX=disabled
[root@rac1 ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: disabled
Policy version: 26
Policy from config file: targeted
[root@rac1 ~]# /etc/rc.d/init.d/iptables stop
[root@rac1 ~]# /etc/rc.d/init.d/ip6tables stop
[root@rac1 ~]# chkconfig iptables off
[root@rac1 ~]# chkconfig ip6tables off
[root@rac1 ~]# /sbin/service ntpd stop
[root@rac1 ~]# chkconfig ntpd off
[root@rac1 ~]# mv /etc/ntp.conf /etc/ntp.conf.orig
=========================
ORACLE PUBLIC REPO
=========================
# cd /etc/yum.repos.d
# wget http://public-yum.oracle.com/public-yum-ol6.repo
###Modify .repo to look like this
[root@RAC1 yum.repos.d]# cat public-yum-ol6.repo
[ol6_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1
[ol6_addons]
name=Oracle Linux $releasever Add Ons ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1
[ol6_UEK_latest]
name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1
[root@RAC2 ~]# yum clean all
=========================
PRE-INSTALL RPM
=========================
# yum install oracle-rdbms-server-12cR1-preinstall
##INSTALL cvuqdisk-1.0.9-1.rpm
Note: Copy the .rpm from /tmp/grid/rpm folder to /tmp
[root@RAC1 tmp]# rpm -iv cvuqdisk-1.0.9-1.rpm
[root@RAC1 tmp]# cat /etc/resolv.conf
# Generated by NetworkManager
search rac.lab
=========================
ASMLIB INSTALLATION
=========================
[root@rac1 ~]# yum -y install kmod-oracleasm
[root@rac1 ~]# yum -y install oracleasm-support
[root@rac1 ~]# cd /tmp
[root@rac1 tmp]# rpm -Uvh oracleasmlib-2.0.4-1.el6.x86_64.rpm
[root@RAC1 tmp]# rpm -qa | grep oracleasm
=========================
ORACLE ASM CONFIGURATION
=========================
[root@rac1 tmp]# /usr/sbin/oracleasm configure -i
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
[root@rac1 tmp]# /usr/sbin/oracleasm init
=========================
GRID SOFTWARE DOWNLOAD
=========================
[root@RAC1 tmp]# chown -R grid:oinstall grid
[root@RAC1 tmp]# chmod -R u+x grid
#### SHUTDOWN BOTH NODES ####
=========================
ASM CLUSTERED SHARED DISK
=========================
Note: Add 40GB Hard Disk on RAC1
Note: Change Disk to go SCSI 1:0
Note: INDEPENDANT - PERSISTENT MODE
Add following lines in RAC1.vmx RAC2.vms
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1.sharedBus = "virtual"
#### REBOOT BOTH NODES ####
NODE 1:
[root@RAC1 ~]# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-5221, default 1):
Command (m for help): t
Hex code (type L to list codes): 8e
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@RAC1 ~]# cat /proc/partitions
NOTE 2:
[root@RAC2 ~]# fdisk /dev/sdb
Command (m for help): p
Command (m for help): w
NODE 1:
[root@RAC1 ~]# /usr/sbin/oracleasm init
[root@RAC1 ~]# /usr/sbin/oracleasm scandisks
[root@RAC1 ~]# /usr/sbin/oracleasm listdisks
[root@RAC1 ~]# /usr/sbin/oracleasm createdisk SANDISK1 /dev/sdb1
[root@RAC1 ~]# /usr/sbin/oracleasm scandisks
[root@RAC1 ~]# /usr/sbin/oracleasm listdisks
NODE 2:
[root@RAC2 ~]# /usr/sbin/oracleasm init
[root@RAC2 ~]# /usr/sbin/oracleasm scandisks
[root@RAC2 ~]# /usr/sbin/oracleasm listdisks
#### RUN INSTALLER ON RAC1 - This should install GI with no issues
Enjoy....Abid Malik
Oracle 12c RAC Clusterware Setup
#################################
======================
HOST SYSTEMS SETUP
=====================
127.0.0.1 localhost.localdomain localhost
#Public
192.168.168.80 RAC1.rac.lab RAC1
192.168.168.81 RAC2.rac.lab RAC2
#Private
10.10.10.80 RAC1.rac.lab RAC1-priv
10.10.10.81 RAC2.rac.lab RAC2-priv
#VIP
192.168.168.82 RAC1-vip.rac.lab RAC1-vip
192.168.168.83 RAC2-vip.rac.lab RAC2-vip
#SCAN NAME - SCAN-RAC
192.168.168.84 SCAN-RAC.rac.lab SCAN-RAC
192.168.168.85 SCAN-RAC.rac.lab SCAN-RAC
192.168.168.86 SCAN-RAC.rac.lab SCAN-RAC
======================
OS GROUP USER SETUP
=====================
[root@rac1 yum.repos.d]# groupadd oinstall -g 9000
[root@rac1 yum.repos.d]# groupadd asmadmin -g 9001
[root@rac1 yum.repos.d]# groupadd asmdba -g 9002
[root@rac1 yum.repos.d]# groupadd asmoper -g 9003
[root@rac1 yum.repos.d]# useradd -m -u 9100 -g oinstall -G asmadmin,asmdba,asmoper grid
[root@rac1 yum.repos.d]# groupadd dba -g 9200
[root@rac1 yum.repos.d]# groupadd oper -g 9201
[root@rac1 yum.repos.d]# useradd -m -u 9300 -g oinstall -G dba,oper,asmdba oracle
[root@rac1 yum.repos.d]# passwd oracle
[root@rac1 yum.repos.d]# passwd grid
=============================
GI & ORACLE ORACLE_HOME DIR
=============================
For Grid Infrastrucutre: owned by grid with oinstall group
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/12cR1/grid
For Oracle RDBMS: owned by oracle with oinstall group
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/12cR1
[root@rac2 ~]# mkdir -p /u01/app/grid
[root@rac2 ~]# mkdir -p /u01/app/12cR1/grid
[root@rac2 ~]# chown -R grid:oinstall /u01
[root@rac2 ~]# mkdir -p /u01/app/oracle
[root@rac2 ~]# chown oracle:oinstall /u01/app/oracle
[root@rac2 ~]# su - oracle
[oracle@rac2 ~]$ cd /u01/app/oracle/
[oracle@rac2 oracle]$ mkdir -p 12cR1
======================
ENV VARIABLES
=====================
[root@rac1 ~]# su - grid
[grid@rac1 ~]$ vi .bash_profile
ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/12cR1/grid; export ORACLE_HOME
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
export PATH
[root@rac1 ~]# su - oracle
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/12cR1; export ORACLE_HOME
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
export PATH
=========================
SELINUX & FIREWALL
=========================
[root@rac1 ~]# vi /etc/selinux/config
SELINUX=disabled
[root@rac1 ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: disabled
Policy version: 26
Policy from config file: targeted
[root@rac1 ~]# /etc/rc.d/init.d/iptables stop
[root@rac1 ~]# /etc/rc.d/init.d/ip6tables stop
[root@rac1 ~]# chkconfig iptables off
[root@rac1 ~]# chkconfig ip6tables off
[root@rac1 ~]# /sbin/service ntpd stop
[root@rac1 ~]# chkconfig ntpd off
[root@rac1 ~]# mv /etc/ntp.conf /etc/ntp.conf.orig
=========================
ORACLE PUBLIC REPO
=========================
# cd /etc/yum.repos.d
# wget http://public-yum.oracle.com/public-yum-ol6.repo
###Modify .repo to look like this
[root@RAC1 yum.repos.d]# cat public-yum-ol6.repo
[ol6_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1
[ol6_addons]
name=Oracle Linux $releasever Add Ons ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1
[ol6_UEK_latest]
name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1
[root@RAC2 ~]# yum clean all
=========================
PRE-INSTALL RPM
=========================
# yum install oracle-rdbms-server-12cR1-preinstall
##INSTALL cvuqdisk-1.0.9-1.rpm
Note: Copy the .rpm from /tmp/grid/rpm folder to /tmp
[root@RAC1 tmp]# rpm -iv cvuqdisk-1.0.9-1.rpm
[root@RAC1 tmp]# cat /etc/resolv.conf
# Generated by NetworkManager
search rac.lab
=========================
ASMLIB INSTALLATION
=========================
[root@rac1 ~]# yum -y install kmod-oracleasm
[root@rac1 ~]# yum -y install oracleasm-support
[root@rac1 ~]# cd /tmp
[root@rac1 tmp]# rpm -Uvh oracleasmlib-2.0.4-1.el6.x86_64.rpm
[root@RAC1 tmp]# rpm -qa | grep oracleasm
=========================
ORACLE ASM CONFIGURATION
=========================
[root@rac1 tmp]# /usr/sbin/oracleasm configure -i
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
[root@rac1 tmp]# /usr/sbin/oracleasm init
=========================
GRID SOFTWARE DOWNLOAD
=========================
[root@RAC1 tmp]# chown -R grid:oinstall grid
[root@RAC1 tmp]# chmod -R u+x grid
#### SHUTDOWN BOTH NODES ####
=========================
ASM CLUSTERED SHARED DISK
=========================
Note: Add 40GB Hard Disk on RAC1
Note: Change Disk to go SCSI 1:0
Note: INDEPENDANT - PERSISTENT MODE
Add following lines in RAC1.vmx RAC2.vms
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1.sharedBus = "virtual"
#### REBOOT BOTH NODES ####
NODE 1:
[root@RAC1 ~]# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-5221, default 1):
Command (m for help): t
Hex code (type L to list codes): 8e
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@RAC1 ~]# cat /proc/partitions
NOTE 2:
[root@RAC2 ~]# fdisk /dev/sdb
Command (m for help): p
Command (m for help): w
NODE 1:
[root@RAC1 ~]# /usr/sbin/oracleasm init
[root@RAC1 ~]# /usr/sbin/oracleasm scandisks
[root@RAC1 ~]# /usr/sbin/oracleasm listdisks
[root@RAC1 ~]# /usr/sbin/oracleasm createdisk SANDISK1 /dev/sdb1
[root@RAC1 ~]# /usr/sbin/oracleasm scandisks
[root@RAC1 ~]# /usr/sbin/oracleasm listdisks
NODE 2:
[root@RAC2 ~]# /usr/sbin/oracleasm init
[root@RAC2 ~]# /usr/sbin/oracleasm scandisks
[root@RAC2 ~]# /usr/sbin/oracleasm listdisks
#### RUN INSTALLER ON RAC1 - This should install GI with no issues
Enjoy....Abid Malik