Tuesday, April 21, 2026

2 Node RAC | GI Installation & Configuration | 2 Node RAC Oracle Home & DB Installation

Setting up Labs: 
==================================
2 node RAC setup 

node1 - +ASM1 (DEVDB1) - oraclelab1.localdomain.com
node2 - +ASM2 (DEVDB2) - oraclelab2.localdomain.com

DEVDB (DEVDB1 & DEVDB2)

RAC Setup or Cluster setup:
=============================
Step 1: Setup node1 and node2 (Linux server setup and IP configuration) - This is done by Linux and network admins 
Step 2: Download 19c GI/ASM/Clusterware software and Installation GI/ASM/Clusterware home 
- ./gridSetup.sh (+ASM1 & +ASM2)
Step 3: Download 19c DB software and Installation Oracle home (RAC Oracle Home)
- ./runInstaller 
Step 4: Create Database 
- ./dbca (DEVDB - DEVDB1 & DEVDB2)


Step 1: Setup node1 and node2:
=======
- Setup oraclelab1 & oraclelab2 - VM/Physical Linux server (Done by Linux admin in Realtime)

laptop / Desktop:
Hardware: 20GB RAM & 150GB SSD Hard disk 
node1 - oraclelab1 - 8GB RAM - 50GB SSD 
node2 - oraclelab2 - 8GB RAM - 50GB SSD 
remaining - 4GB RAM for your laptop / Desktop operation 
remaining - 50Gb SSD we will create some ASM disks (3GB, 20GB, 10GB)

- Install Oracle Virtual box to setup these labs (Hyper wiser)
- Oracle Virtual box you can download and install from Link #2 (Other Tools for DBAs) or from Google 
- https://drive.google.com/drive/folders/1T9lZJZBy-LHy-OWXUCf1nsyad6ZJoZ2n

- Download oraclelab1.rar and oraclelab2.rar VMs from Link #1 (Ready_VMs_RAC) and unzip using winrar software 
- https://drive.google.com/drive/folders/1o_IqopNgyQdqM3C9BKSXWfpTNi1SzQzg

- Download and install winrar software from link #2 (Other Tools for DBAs)
- https://drive.google.com/drive/folders/1T9lZJZBy-LHy-OWXUCf1nsyad6ZJoZ2n
- Add oraclelab1 and oraclelab2 into Oracle Virtual Box 

(20 GB RAM & 150GB SSD Hard disk)
oraclelab1 - 8GB (50GB)
oraclelab2 - 8GB (50GB) 
4GB for laptop / desktop operation
50GB - ASM disks 

IP and Networking for oraclelab1 and oraclelab2:
Get your laptop IP address -----------------192.168.0.101
Get your laptop subnet range----------------255.255.255.0
Get your laptop gateway IP address ---------192.168.0.1
Get your laptop DNS IP address -------------192.168.0.1

cmd> ipconfig 
cmd> ipconfig /all

oraclelab1: oraclelab2:
interface 1 - enp0s3 interface 1 - enp0s3
==================== =====================
Public: 192.168.0.151 Public: 192.168.0.152 
255.255.255.0 255.255.255.0
192.168.0.1 192.168.0.1
192.168.0.1 192.168.0.1

interface 2 - enp0s8 interface 2 - enp0s8
==================== =====================
Private: 192.168.1.151 Private: 192.168.1.152
255.255.255.0 255.255.255.0


- You can access these labs (oraclelab1 and oraclelab2) from putty or mobaxterm 
- You can download and install putty or mobaxterm  from Link #2 (Other Tools for DBAs)
https://drive.google.com/drive/folders/1T9lZJZBy-LHy-OWXUCf1nsyad6ZJoZ2n


vi /etc/hosts - oraclelab1 & oraclelab2

#Public
192.168.0.151 oraclelab1.localdomain.com oraclelab1
192.168.0.152   oraclelab2.localdomain.com oraclelab2

#Private
192.168.1.151 oraclelab1-priv.localdomain.com  oraclelab1-priv
192.168.1.152 oraclelab2-priv.localdomain.com  oraclelab2-priv

#VIP
192.168.0.153  oraclelab1-vip.localdomain.com   oraclelab1-vip
192.168.0.154  oraclelab2-vip.localdomain.com   oraclelab2-vip

#SCAN IP/VIP
192.168.0.155 scan.localdomain.com        scan
192.168.0.156 scan.localdomain.com        scan
192.168.0.157 scan.localdomain.com        scan


vi /etc/hosts - oraclelab1 & oraclelab2

#Public
10.26.6.161      oraclelab1.localdomain.com      oraclelab1
10.26.6.162      oraclelab2.localdomain.com      oraclelab2

#Private
10.23.6.161      oraclelab1-priv.localdomain.com  oraclelab1-priv
10.23.6.162      oraclelab2-priv.localdomain.com  oraclelab2-priv

#VIP
10.26.6.163  oraclelab1-vip.localdomain.com   oraclelab1-vip
10.26.6.164  oraclelab2-vip.localdomain.com   oraclelab2-vip

#SCAN IP/VIP
10.26.6.165      scan.localdomain.com        scan
10.26.6.166      scan.localdomain.com        scan
10.26.6.167      scan.localdomain.com        scan

Step 2: Download 19c GI/ASM/Clusterware software and Installation GI/ASM/Clusterware home 
- ./gridSetup.sh (+ASM1 & +ASM2)

a) - Manual Users & Groups creation
groupadd oinstall 
groupadd dba 
useradd oracle 
usermod -g oinstall -G oinstall,dba oracle 

- Automatic Users & Groups creation (and also installation of pre-requisite rpms)
yum install oracle* --skip-broken 
- users and groups will be created 
- all pre-req rpms will be installed 
- all the kernel parameter and shared memory parameter will be set 

yum install oracle-database-preinstall-19c --skip-broken 
yum install oracle-database-preinstall-21c --skip-broken 

b) - Directory creation

mkdir -p /u01/app/19.0.0.0/grid
mkdir -p /u01/app/oracle/product/19.0.0.0/dbhome_1

chown -R oracle:oinstall /u01
chmod -R 755 /u01

c) - DNS server setup and name resolution - We are making use of oraclelab1 (node1) itself as a DNS server
nslookup oraclelab1.localdomain.com
-> 192.168.0.151

nslookup oraclelab2.localdomain.com
-> 192.168.0.152

nslookup 192.168.0.151
-> oraclelab1.localdomain.com

nslookup 192.168.0.152
-> oraclelab2.localdomain.com

yum install bind* (oraclelab1 & oraclelab2)

vi /etc/named.conf
- define node1 and DNS server 

options {
        listen-on port 53 { 127.0.0.1; 192.168.0.151; };
        allow-query     { localhost; 192.168.0.0/24; };


forward zoon: (Hostname -> get IP)
zone "localdomain.com" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};

reverse zoon: (IP -> get Hostname)
zone "0.168.192.in-addr.arpa." IN {
type master;
file "0.168.192.in-addr.arpa";
allow-update { none; };
};

vi /var/named/localdomain.zone
$TTL 86400
@ IN SOA oraclelab1.localdomain.com. root.localdomain.com. (
2014051001 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ; minimum
)
@ IN NS oraclelab1.localdomain.
localhost IN A 127.0.0.1
oraclelab1 IN A 192.168.0.151
oraclelab2 IN A 192.168.0.152
oraclelab1-priv IN A 192.168.1.151
oraclelab2-priv IN A 192.168.1.152
oraclelab1-vip IN A 192.168.0.153
oraclelab2-vip IN A 192.168.0.154
scan IN A 192.168.0.155
scan IN A 192.168.0.156
scan IN A 192.168.0.157




vi /var/named/0.168.192.in-addr.arpa
$TTL 86400
@ IN SOA oraclelab1.localdomain.com. root.localdomain.com. (
2
3H
1H
1W
1H )
@ IN NS oraclelab1.localdomain.com.
@ IN PTR localdomain.com.
oraclelab1 IN A 192.168.0.151
oraclelab2 IN A 192.168.0.152
scan IN A 192.168.0.155
scan IN A 192.168.0.156
scan IN A 192.168.0.157
151 IN PTR oraclelab1.localdomain.com.
152 IN PTR oraclelab2.localdomain.com.
155 IN PTR scan.localdomain.
156 IN PTR scan.localdomain.
157 IN PTR scan.localdomain.


vi /etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; 10.26.6.161; };
        allow-query     { localhost; 10.26.0.0/21; };

forward zoon: (Hostname -> get IP) >>>>>>>>>>>>
zone "localdomain.com" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};

vi /var/named/localdomain.zone
$TTL 86400
@ IN SOA oraclelab1.localdomain.com. root.localdomain.com. (
2014051001 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ; minimum
)
@ IN NS oraclelab1.localdomain.
localhost IN A 127.0.0.1
oraclelab1 IN A 10.26.6.161
oraclelab2 IN A 10.26.6.162
oraclelab1-priv IN A 10.23.6.161
oraclelab2-priv IN A 10.23.6.162
oraclelab1-vip IN A 10.26.6.163
oraclelab2-vip IN A 10.26.6.164
scan IN A 10.26.6.165
scan IN A 10.26.6.166
scan IN A 10.26.6.167


reverse zoon: (IP -> get Hostname) >>>>>>>>>>>>>>
zone "51.1.10.in-addr.arpa." IN {
type master;
file "6.26.10.in-addr.arpa";
allow-update { none; };
};


vi /var/named/6.26.10.in-addr.arpa
$TTL 86400
@ IN SOA oraclelab1.localdomain.com. root.localdomain.com. (
2
3H
1H
1W
1H )
@ IN NS oraclelab1.localdomain.com.
@ IN PTR localdomain.com.
oraclelab1 IN A 10.26.6.161
oraclelab2 IN A 10.26.6.162
scan IN A 10.26.6.165
scan IN A 10.26.6.165
scan IN A 10.26.6.165
161 IN PTR oraclelab1.localdomain.com.
262 IN PTR oraclelab2.localdomain.com.
165 IN PTR scan.localdomain.
166 IN PTR scan.localdomain.
167 IN PTR scan.localdomain.


setup resolv.conf 

vi /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver oraclelab1.localdomain.com
options timeout:1
options attempts:5

service named restart

cp /etc/hosts /etc/hosts_backup
cp /etc/named.conf /etc/named.conf_backup
cp /var/named/localdomain.zone /var/named/localdomain.zone_backup
cp /var/named/6.26.10.in-addr.arpa /var/named/6.26.10.in-addr.arpa_backup
cp /etc/resolv.conf /etc/resolv.conf_backup

scp /etc/hosts* root@10.26.6.162:/etc/
scp /etc/named.conf* root@10.26.6.162:/etc/.
scp /var/named/localdomain.zone* root@10.26.6.162:/var/named/.
scp /var/named/6.26.10.in-addr.arpa* root@10.26.6.162:/var/named/.
scp /etc/resolv.conf* root@10.26.6.162:/etc/.

service named restart

d) - disable firewall on both the nodes 
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

e) Create shared disks for ASM 
Create ASM/GI 
- ASM/GI can be created or ASM/GI can only understand Physical disks / raw disks / block devices 
- ASM/GI can not understand virtual disks 

We have lab1 and lab2 - These are virtual machines 
- Then we can create only virtual disks 

First go ahead and add 3 virtual disks to both the VMs>>>>>
add 3 disks - virtual disks 
3GB  - ASM - /dev/sdb (sharable)
20GB - DB  - /dev/sdc (sharable)
10GB - DB  - /dev/sdd (sharable) 

I can make my ASM/GI fool
- I can tell ASM/GI that these virtual disks are raw disks
- By making use of ASM library I can convert or by label these virtual disks as raw disks

Second go ahead and convert or by label these virtual disks as raw disks (on only 1 nodes)
fdisk /dev/sdb -> /dev/sdb1
fdisk /dev/sdc -> /dev/sdc1
fdisk /dev/sdd -> /dev/sdd1

Command (m for help): n
Command (m for help): w

 3G - /dev/sdb - fdisk - /dev/sdb1 - asmlibrary - ASMDISK1 ----- ASM installation 
20G - /dev/sdc - fdisk - /dev/sdc1 - asmlibrary - ASMDISK2 ----- Database 
10G - /dev/sdd - fdisk - /dev/sdd1 - asmlibrary - ASMDISK3 ----- Database 

setup asm-library setup on both the nodes
oracleasm configure -i
oracleasm init

- Perform only on node1
oracleasm createdisk ASMDISK1 /dev/sdb1    - OCR
oracleasm createdisk ASMDISK2 /dev/sdc1    - DATA
oracleasm createdisk ASMDISK3 /dev/sdd1    - RECO

- Perform only on node2
oracleasm scandisks
oracleasm listdisks

f) - GI Installation (ASM Home or GI Home or clusterware home or ASM Software or GI Software or clusterware software)

ASM Home - Automatic Storage management home
GI Home - Grid Infrastructure home
Clusterware Home 

- Download GI Software - oracle edelivery (https://edelivery.oracle.com/osdc/faces/SoftwareDelivery)
- Or Download from link #2 (Oracle Software and Patches -> 19c Software)
- unzip into /u01/app/19.0.0.0/grid (only on node1)
WINSCP:
$cd /u01/patches
$unzip V982068-01.zip -d /u01/app/19.0.0.0/grid

SHARED FOLDER 
# cd /media/sf_Software/Grid_19c_Software/
#unzip V982068-01.zip -d /u01/app/19.0.0.0/grid
#cd /u01/app/19.0.0.0
#chown -R oracle:oinstall grid

passwd oracle 
>>> Give password 

- cd /u01/app/19.0.0.0/grid
- ./runcluvfy.sh stage -pre crsinst -n oraclelab1,oraclelab2 -verbose (as oracle/grid user only on node1)
- ./gridSetup.sh (directly login as oracle user - on GUI)


Step 3: Download 19c DB software and Installation Oracle home (RAC Oracle Home)
- ./runInstaller 
- Download DB Software - oracle edelivery (https://edelivery.oracle.com/osdc/faces/SoftwareDelivery)
- Download from link #2 
- unzip into /u01/app/oracle/product/19.0.0.0/dbhome_1 (only on node1)

WINSCP:
#cd /u01/patches/
#unzip V982063-01.zip -d /u01/app/oracle/product/19.0.0.0/dbhome_1
#cd /u01/app/oracle/product/19.0.0.0
#chown -R oracle:oinstall dbhome_1

SHARED FOLDER 
#cd /media/sf_Software/DB_19c_Software/
#unzip V982063-01.zip -d /u01/app/oracle/product/19.0.0.0/dbhome_1
#cd /u01/app/oracle/product/19.0.0.0
#chown -R oracle:oinstall dbhome_1
$cd /u01/app/oracle/product/19.0.0.0/dbhome_1
$./runInstaller  (directly login as oracle user - on GUI)


Step 4: Create Database 

- Diskgroup creation +DATA & +RECO - ASM Storage

$cd /u01/app/19.0.0.0/grid/bin
$./asmca (+DATA-20G, +RECO-10G)

- cd /u01/app/oracle/product/19.0.0.0/dbhome_1/bin
- ./dbca (DEVDB - DEVDB1 & DEVDB2) (directly login as oracle user - on GUI)

Regards,
Mallikarjun / Vismo Technologies
WhatsApp: +91 9880616848 / +91 9036478079
Cell: +91 9880616848 / +91 9036478079
Email: mallikarjun.ramadurg@gmail.com / vismotechnologies@gmail.com

No comments:

Post a Comment

2 Node RAC | GI Installation & Configuration | 2 Node RAC Oracle Home & DB Installation

Setting up Labs:  ================================== 2 node RAC setup  node1 - +ASM1 (DEVDB1) - oraclelab1.localdomain.com node2 - +ASM2 (DE...