Step by Step Easy process to install Oracle 19c RAC 2Node Cluster

Two Node Oracle RAC 19c installation and configuration in oracle linux 7.8

High Level Steps:-

Operating System

Oracle Linux 7.8

Swap Size

16GB

firewalld

systemctl disable firewalld

SELINUX

vi /etc/selinux/config (selinux=permissive)

IP Settings

vi /etc/hosts & check ifconfig& DNS Entry

Disable libvirtd.service

systemctl disable libvirtd.service

Hostname

vi /etc/hostname

Add Storage

Create LUN in SAN stoage

map to nodes

Format_disk & add to ASM

Install

Required

Packages

oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm

oracleasmlib-2.0.12-1.el6.x86_64.rpm

oracleasm-support-2.1.8-1.el5.x86_64.rpm

oracle-validated-1.0.0-22.el5.x86_64.rpm

oracle-database-preinstall-19c-1.0-2.el7.x86_64

cvuqdisk-1.0.10-1 (package available in grid software)

avahi-daemon

systemctl stop avahi-daemon

systemctl disable avahi-daemon

systemctl status avahi-daemon

Configuration files

/etc/ntp.conf

/etc/chrony.conf ( add –server 192.168.2.47 iburst)

/etc/resolv.conf

Groups

Oinstall(Primary),asmadmin,asmdba

groupadd dba

groupadd oinstall

groupadd asmadmin

groupadd asmdba

groupadd asmoper

Modify oracle user

usermod -G asmdba,asmoper,asmadmin oracle

Add Grid user

useradd -g oinstall -G asmadmin,asmdba,asmoper,racoper,racdba,oper grid

Set password for both users

passwd oracle

passwd grid

SET Profile

Login with both user in GUI mode

Setup bash_profile

Vi .bash_profile (oracle&grid user)

create directory

mkdir -p /u01/app/19c/grid

mkdir -p /u01/app/oracle/product/19c/db_1/

Change permission

chown -R oracle.oinstall /u01

chmod -R 775 /u01/

Copy required softwares

cd u01/app/19c/grid

unzip LINUX.X64_193000_grid_home.zip

Cvuqdisk Package

Go to /u01/app/19c/grid/cv/rpm install cvuqdisk-1.0.10-1.rpm

Syntx:- rpm -ivh cvuqdisk-1.0.10-1.rpm –force –nodeps

User equilency

Go to /u01/app/19c/grid/deinstall

./sshUserSetup.sh -user oracle -hosts “rac1 rac2” -noPromptpassphrase -confirm –advanced

./sshUserSetup.sh -user grid -hosts “rac1 rac2” -noPromptpassphrase -confirm –advanced

./sshUserSetup.sh -user root -hosts “rac1 rac2” -noPromptpassphrase -confirm –advanced

1. Install Operating System

/

20 G

/boot

2 G

/boot/efi

1 G

/var

25 G

/home

25 G

Swap

16 G

/u01

415 G

/u04

1.2 T

2. Disable Firewall Service

(Node1)

[root@rac1]# systemctl disable firewalld

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

(Node2)

[root@rac2]# systemctl disable firewalld

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

3. Set SELINUX parameter to permissive in both nodes

[root@rac1]# 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 – No SELinux policy is loaded.

SELINUX=permissive

# SELINUXTYPE= can take one of three values:

# targeted – Targeted processes are protected,

# minimum – Modification of targeted policy. Only selected processes are protected.

# mls – Multi Level Security protection.

SELINUXTYPE=targeted

4. Network Configuration in both nodes

[root@rac1 ~]# vi /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

#Public

192.168.2.111 rac1.cao.local rac1

192.168.2.113 rac2.cao.local rac2

#virtual

192.168.2.112 rac1-vip.cao.local rac1-vip

192.168.2.114 rac2-vip.cao.local rac2-vip

#private

10.1.1.30 rac1-priv.cao.local rac1-priv

10.1.1.40 rac2-priv.cao.local rac2-priv

#Scan

192.168.2.115 scanrac.cao.local scanrac

192.168.2.116 scanrac.cao.local scanrac

192.168.2.117 scanrac.cao.local scanrac

IP Details (Node 1):-

[root@rac1 ~]# ifconfig

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

p1p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.2.111 netmask 255.255.255.0 broadcast 192.168.2.255

inet6 fe80::f6c7:aaff:fe28:254c prefixlen 64 scopeid 0x20<link>

p1p1:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.2.112 netmask 255.255.255.0 broadcast 192.168.2.255

ether f4:c7:aa:28:25:4c txqueuelen 1000 (Ethernet)

device interrupt 150 memory 0xac020000-ac03ffff

p1p2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 10.1.1.30 netmask 255.255.255.0 broadcast 10.1.1.255

inet6 fe80::657b:c840:78a0:610c prefixlen 64 scopeid 0x20<link>

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500

inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255

ether 52:54:00:24:66:fe txqueuelen 1000 (Ethernet)

IP Details (Node 2):-

[root@rac2 ~]# ifconfig

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

p1p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.2.111 netmask 255.255.255.0 broadcast 192.168.2.255

inet6 fe80::f6c7:aaff:fe28:254c prefixlen 64 scopeid 0x20<link>

p1p1:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.2.112 netmask 255.255.255.0 broadcast 192.168.2.255

ether f4:c7:aa:28:25:4c txqueuelen 1000 (Ethernet)

device interrupt 150 memory 0xac020000-ac03ffff

p1p2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 10.1.1.30 netmask 255.255.255.0 broadcast 10.1.1.255

inet6 fe80::657b:c840:78a0:610c prefixlen 64 scopeid 0x20<link>

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500

inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255

ether 52:54:00:24:66:fe txqueuelen 1000 (Ethernet)

Add the IP details in DNS Server

Check the details in DNS Server

[root@rac1]# nslookup rac1

Server: 192.168.2.12 (My DNS Server)

Address: 192.168.2.12#53

Name: rac1.cao.local

Address: 192.168.2.111

5. Disable libvirtd.service(Node 1)

[root@rac1]# systemctl disable libvirtd.service

Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service.

Removed symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket.

Removed symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket.

[root@rac1 ~]# service libvirtd stop

Redirecting to /bin/systemctl stop libvirtd.service

[root@rac1 ~]# chkconfig libvirtd off

Note: Forwarding request to ‘systemctl disable libvirtd.service’.

Disable libvirtd.service(Node 2)

[root@rac2]# systemctl disable libvirtd.service

Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service.

Removed symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket.

Removed symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket.

[root@rac2 ~]# service libvirtd stop

Redirecting to /bin/systemctl stop libvirtd.service

[root@rac2 ~]# chkconfig libvirtd off

Note: Forwarding request to ‘systemctl disable libvirtd.service’.

6. Edit name

Node:1

[oracle@rac1 ~]$ vi /etc/hostname

rac1.cao.local

Node:2

[oracle@rac1 ~]$ vi /etc/hostname

rac2.cao.local

7. Disable avahi-daemon

(Node 1)

[root@rac1]# systemctl stop avahi-daemon

[root@rac1]# systemctl disable avahi-daemon

[root@rac1]# systemctl status avahi-daemon

(Node 2)

[root@rac1]# systemctl stop avahi-daemon

[root@rac1]# systemctl disable avahi-daemon

[root@rac1]# systemctl status avahi-daemon

[root@rac1]#chkconfig avahi-daemon off

8. Map SAN Storage to the Nodes

CHECK SAN STORAGE AVAILABILITY IN BOTH NODES

[root@rac1]# fdisk -l

Disk /dev/sda: 1.8 TiB, 1919716163584 bytes, 3749445632 sectors

Device Start End Sectors SizeType

/dev/sda1 2048 2099199 2097152 1G EFI System

Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors

/dev/sdb1 2048 20971519 20969472 10G 83 Linux

Disk /dev/sdc: 10 GiB, 10737418240 bytes, 20971520 sectors

/dev/sdc1 2048 20971519 20969472 10G 83 Linux

Disk /dev/sdd: 10 GiB, 10737418240 bytes, 20971520 sectors

/dev/sdd1 2048 20971519 20969472 10G 83 Linux

Disk /dev/sde: 10 GiB, 10737418240 bytes, 20971520 sectors

/dev/sde1 2048 20971519 20969472 10G 83 Linux

Disk /dev/sdf: 10 GiB, 10737418240 bytes, 20971520 sectors

/dev/sdf1 2048 20971519 20969472 10G 83 Linux

Disk /dev/sdg: 100 GiB, 107374182400 bytes, 209715200 sectors

Device Boot Start End Sectors Size Id Type

/dev/sdg1 2048 209715199 209713152 100G 83 Linux

Disk /dev/sdh: 500.1 GiB, 536952700928 bytes, 1048735744 sectors

Device Boot Start End Sectors Size Id Type

/dev/sdh1 2048 1048735743 1048733696 500.1G 83 Linux

Disk /dev/sdi: 1.6 TiB, 1759344852992 bytes, 3436220416 sectors

/dev/sdi1 2048 3436220415 3436218368 1.6T 83 Linux

Disk /dev/sdk: 550.2 GiB, 590753038336 bytes, 1153814528 sectors

[root@rac1 ~]# /usr/sbin/oracleasm configure -i

Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library

driver. The following questions will determine whether the driver is

loaded on boot and what permissions it will have. The current values

will be shown in brackets (‘[]’). Hitting <ENTER> without typing an

answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: oracle

Default group to own the driver interface []: oinstall

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done

[root@rac1 ~]# /usr/sbin/oracleasm configure

ORACLEASM_ENABLED=true

ORACLEASM_UID=oracle

ORACLEASM_GID=oinstall

ORACLEASM_SCANBOOT=true

ORACLEASM_SCANORDER=””

ORACLEASM_SCANEXCLUDE=””

ORACLEASM_USE_LOGICAL_BLOCK_SIZE=”false”

[root@rac1 ~]# /usr/sbin/oracleasm init

Creating /dev/oracleasm mount point: /dev/oracleasm

Loading module “oracleasm”: oracleasm

Configuring “oracleasm” to use device physical block size

Mounting ASMlib driver filesystem: /dev/oracleasm

[root@rac1 ~]# df -ha |grep oracle

oracleasmfs 0 0 0 – /dev/oracleasm

[root@rac1 grid]# oracleasm createdisk OCR1 /dev/sdb1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk OCR2 /dev/sdc1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk OCR3 /dev/sdd1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk OCR4 /dev/sde1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk OCR5 /dev/sdf1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk MGMT /dev/sdg1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk FRA /dev/sdh1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk DATA2 /dev/sdi1

Writing disk header: done

Instantiating disk: done

IN CASE MULTIPATHING ENABLED

oracleasm createdisk DRDB_DATA1 /dev/mapper/DRDB_DATA1

oracleasm createdisk DRDB_DATA2 /dev/mapper/DRDB_DATA2

oracleasm createdisk DRDB_FRA /dev/mapper/DRDB_FRA

oracleasm createdisk DRDB_OCR1 /dev/mapper/DRDB_OCR1

oracleasm createdisk DRDB_OCR2 /dev/mapper/DRDB_OCR2

oracleasm createdisk DRDB_OCR3 /dev/mapper/DRDB_OCR3

oracleasm createdisk DRDB_OCR4 /dev/mapper/DRDB_OCR4

oracleasm createdisk DRDB_OCR5 /dev/mapper/DRDB_OCR5

oracleasm createdisk DRDB_MGMT /dev/mapper/DRDB_MGMT

[root@rac1 grid]# oracleasm scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks…

Scanning system for ASM disks…

0

[root@rac1 grid]# oracleasm listdisks

DATA

DATA2

FRA

MGMT

OCR1

OCR2

OCR3

OCR4

OCR5

In Node 2

[root@rac2 ~]# /usr/sbin/oracleasm configure -i

Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library

driver. The following questions will determine whether the driver is

loaded on boot and what permissions it will have. The current values

will be shown in brackets (‘[]’). Hitting <ENTER> without typing an

answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: oracle

Default group to own the driver interface []: oinstall

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done

[root@rac2 ~]# /usr/sbin/oracleasm init

Creating /dev/oracleasm mount point: /dev/oracleasm

Loading module “oracleasm”: oracleasm

Configuring “oracleasm” to use device physical block size

Mounting ASMlib driver filesystem: /dev/oracleasm

[root@rac2 ~]# oracleasm scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks…

Scanning system for ASM disks…

Instantiating disk “OCR1”

Instantiating disk “OCR2”

Instantiating disk “OCR3”

Instantiating disk “OCR4”

Instantiating disk “OCR5”

Instantiating disk “MGMT”

Instantiating disk “FRA”

Instantiating disk “DATA2”

Instantiating disk “DATA”

[root@rac2 ~]# oracleasm listdisks

DATA

DATA2

FRA

MGMT

OCR1

OCR2

OCR3

OCR4

OCR5

9. Install required packages in both nodes

(through YUM server/Local YUM)

Node 1

[root@rac1]# rpm –ivhoracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm –force

[root@rac1]# rpm –ivhoracleasmlib-2.0.12-1.el6.x86_64.rpm

[root@rac1]# rpm –ivhoracleasm-support-2.1.8-1.el5.x86_64.rpm

[root@rac1]# rpm –ivhoracle-validated-1.0.0-22.el5.x86_64.rpm

[root@rac1]# rpm –ivhoracle-database-preinstall-19c-1.0-2.el7.x86_64

[root@rac1]# rpm –ivhcvuqdisk-1.0.10-1 (package available in grid software)

Node 2

[root@rac2]# rpm –ivhoracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm –force

[root@rac2]# rpm –ivhoracleasmlib-2.0.12-1.el6.x86_64.rpm

[root@rac2]# rpm –ivhoracleasm-support-2.1.8-1.el5.x86_64.rpm

[root@rac2]# rpm –ivhoracle-validated-1.0.0-22.el5.x86_64.rpm

[root@rac2]# rpm –ivhoracle-database-preinstall-19c-1.0-2.el7.x86_64

[root@rac2]# rpm –ivhcvuqdisk-1.0.10-1 (package available in grid software

10. Add groupsin both nodes

Node 1

[root@rac1]# groupadd dba

[root@rac1]# groupadd oinstall

[root@rac1]# groupadd asmadmin

[root@rac1]# groupadd asmdba

[root@rac1]# groupadd asmoper

[root@rac1]# groupadd racdba

[root@rac1]# groupadd kmdba

[root@rac1]# groupadd oper

[root@rac1]# groupadd racoper

Node 2

[root@rac2]# groupadd dba

[root@rac2]# groupadd oinstall

[root@rac2]# groupadd asmadmin

[root@rac2]# groupadd asmdba

[root@rac2]# groupadd asmoper

[root@rac2]# groupadd racdba

[root@rac2]# groupadd kmdba

[root@rac2]# groupadd oper

[root@rac2]# groupadd racoper

11. Oracle user added by oracle-prerequisite package then modify the oracle user

Node 1

[root@rac1]#usermod -G asmdba,asmoper,asmadmin oracle

Node 2

[root@rac2]#usermod -G asmdba,asmoper,asmadmin oracle

12. Add Grid User

Node 1

[root@rac1]# useradd -g oinstall -G asmadmin,asmdba,asmoper,racoper,racdba,oper grid

Node 2

[root@rac2]# useradd -g oinstall -G asmadmin,asmdba,asmoper,racoper,racdba,oper grid

CHECK USER STATUS IN BOTH NODES

[root@rac1 ]# id grid

uid=1001(grid) gid=1002(oinstall) groups=1002(oinstall),1003(asmadmin),1004(asmdba),1005(asmoper),1006(racdba),1008(oper),1009(racoper)

[root@rac1 ]# id oracle

uid=1002(oracle) gid=1002(oinstall) groups=1002(oinstall),1003(asmadmin),1004(asmdba),1005(asmoper),1006(racdba),1008(oper),1009(racoper)

SET PASSWORD FOR BOTH USERS

[root@rac1 ]# passwd oracle

Changing password for user oracle.

New password: ******

Retype new password: ******

passwd: all authentication tokens updated successfully.

[root@rac1]# passwd grid

Changing password for user grid.

New password: ******

Retype new password: ******

passwd: all authentication tokens updated successfully.

13. LOGOUT FROM ROOT USER AND LOGIN WITH ORACLE AND GRID USER FOR SETUP USER PROFILE

14. Create Directory for Grid and database Installation

Node 1

[root@rac1 ~]# mkdir -p /u01/app/19c/grid

[root@rac1 ~]# mkdir -p /u01/app/oracle/product/19c/db_1/

[root@rac1 ~]# chown -R oracle.oinstall /u01

[root@rac1 ~]# chmod -R 775 /u01/

Node 2

[root@rac2 ~]# mkdir -p /u01/app/19c/grid

[root@rac2 ~]# mkdir -p /u01/app/oracle/product/19c/db_1/

[root@rac2 ~]# chown -R oracle.oinstall /u01

[root@rac2 ~]# chmod -R 775 /u01/

15. Copy required software in Node 1

Database Software–🡪 LINUX.X64_193000_db_home(1)

Grid Software–🡪 LINUX.X64_193000_grid_home

16. create text files in both Servers

Node 1:-

[oracle@rac1 ~]$ vim grid.env

export ORACLE_SID=+ASM1

export ORACLE_HOME=$GRID_HOME

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

[oracle@rac1 ~]$ vim db.env

export ORACLE_SID=RACDB1

export ORACLE_UNIQNAME=RACDB

export ORACLE_HOME=$DB_HOME

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

Node 2:-

[oracle@rac2 ~]$ vim grid.env

export ORACLE_SID=+ASM2

export ORACLE_HOME=$GRID_HOME

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

[oracle@rac2 ~]$ vim db.env

export ORACLE_SID=RACDB2

export ORACLE_UNIQNAME=RACDB

export ORACLE_HOME=$DB_HOME

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

17. configure .bash_profile profile oracle user

Node 1

[oracle@rac1 ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

#ORACLE PARAMETERS

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19c/db_1

export GRID_HOME=/u01/app/19c/grid

export ORACLE_SID=RACDB1

export ORACLE_UNIQNAME=RACDB

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

alias grid=’./home/oracle/grid.env’

alias db=’./home/oracle/db.env’

Activate bash_profile

[oracle@rac1 ~]$ . .bash_profile

Node2

[oracle@rac2 ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

#ORACLE PARAMETERS

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19C/db_1

export GRID_HOME=/u01/app/19C/grid

export ORACLE_SID=RACDB2

export ORACLE_UNIQNAME=RACDB

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

alias grid=’./home/oracle/grid.env’

alias db=’./home/oracle/db.env’

Activate bash_profile

[grid@rac1 ~]$ . .bash_profile

18. configure .bash_profile profile grid user

Node1

[grid@rac1 ~]$ cat .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

#Grid Setting

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/app/oracle

export GRID_HOME=/u01/app/19c/grid

export ORACLE_SID=+ASM1

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

Activate bash_profile

[grid@rac1 ~]$ . .bash_profile

Node2

[grid@rac2 ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

#Grid Setting

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/app/oracle

export GRID_HOME=/u01/app/19C/grid

export ORACLE_SID=+ASM2

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

Activate bash_profile

[grid@rac1 ~]$ . .bash_profile

19.Copy the grid software and unzip it in the following path

[root@rac1 ~]$ cd /u01/app/19c/grid

[root@rac1 ~]# unzip LINUX.X64_193000_grid_home.zip

20. Install cvuqdisk-1.0.10-1.rpm

Node 1

[root@rac1 ~]#cd /u01/app/19C/grid/cv/rpm

[root@rac1 ~]# rpm –ivh cvuqdisk-1.0.10-1.rpm

[root@rac1 ~]# scp -r cvuqdisk-1.0.10-1.rpm :/u01/.

Node 2

[root@rac2 ~]#cd /u01/

[root@rac2 ~]# rpm –ivh cvuqdisk-1.0.10-1.rpm

21. SSH-Connectivity set up

[root@rac1 ~]# cd /u01/app/19C/grid/deinstall

[root@rac1 ~]#./sshUserSetup.sh -user root -hosts “rac1 rac2” -noPromptpassphrase -confirm –advanced

[root@rac1 ~]#./sshUserSetup.sh -user oracle -hosts “rac1 rac2” -noPromptpassphrase -confirm –advanced

[root@rac1 ~]#./sshUserSetup.sh -user grid -hosts “rac1 rac2” -noPromptpassphrase -confirm –advanced

22. NTP Configuration

Set chronyc ntp configuration

systemctl enable chronyd.service

systemctl status chronyd.service

systemctl restart chronyd.service

How to Enable chronyd service

Install rpm -ivh chrony-3.4-1.0.1.el7.x86_64.rpm –nodeps –force

Cd /etc

[root@rac1 etc]# vi chrony.conf

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

#server 0.pool.ntp.org iburst

#server 1.pool.ntp.org iburst

#server 2.pool.ntp.org iburst

#server 3.pool.ntp.org iburst

# Record the rate at which the system clock gains/losses time.

driftfile /var/lib/chrony/drift

# Allow the system clock to be stepped in the first three updates

# if its offset is larger than 1 second.

makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).

rtcsync

# Enable hardware timestamping on all interfaces that support it.

#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust

# the system clock.

#minsources 2

# Allow NTP client access from local network.

#allow 192.168.0.0/16

server 192.168.2.47 iburst

# Serve time even if not synchronized to a time source.

#local stratum 10

# Specify file containing keys for NTP authentication.

#keyfile /etc/chrony.keys

# Specify directory for log files.

logdir /var/log/chrony

# Select which information is logged.

#log measurements statistics tracking

~

~

~

~

~

~

~

~

~

“chrony.conf” 38L, 1109C written

[root@rac1 etc]# systemctl enable chronyd.service

[root@rac1 etc]# systemctl status chronyd.service

â chronyd.service – NTP client/server

Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)

Active: active (running) since Wed 2022-09-07 17:04:15 IST; 2h 17min ago

Docs: man:chronyd(8)

man:chrony.conf(5)

Main PID: 6042 (chronyd)

CGroup: /system.slice/chronyd.service

ââ6042 /usr/sbin/chronyd

Sep 07 17:04:15 rac1.cao.local systemd[1]: Starting NTP client/server…

Sep 07 17:04:15 rac1.cao.local chronyd[6042]: chronyd version 3.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)

Sep 07 17:04:15 rac1.cao.local chronyd[6042]: Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift

Sep 07 17:04:15 rac1.cao.local systemd[1]: Started NTP client/server.

[root@rac1 etc]#

After addingChech in NTP Server

chronyc clients

NEW SERVER DETAILS SHOWN IN THIS FILE

Chronyc sources

NTP CONFIGURATION

[root@rac2 ~]# vi /etc/ntp.conf

[root@rac2 ~]# service ntpd restart

Redirecting to /bin/systemctl restart ntpd.service

[root@rac2 ~]# service ntpd status

Redirecting to /bin/systemctl status ntpd.service

● ntpd.service – Network Time Service

Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)

Active: active (running) since Sun 2022-09-18 19:34:08 IST; 15s ago

Process: 17854 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)

Main PID: 17855 (ntpd)

Tasks: 1

CGroup: /system.slice/ntpd.service

└─17855 /usr/sbin/ntpd -u ntp:ntp -g

Sep 18 19:34:08 rac2.cao.local ntpd[17855]: Listen normally on 2 lo 127.0.0.1 UDP 123

Sep 18 19:34:08 rac2.cao.local ntpd[17855]: Listen normally on 3 p1p1 192.168.2.113 UDP 123

Sep 18 19:34:08 rac2.cao.local ntpd[17855]: Listen normally on 4 p1p1:0 192.168.2.114 UDP 123

Sep 18 19:34:08 rac2.cao.local ntpd[17855]: Listen normally on 5 p1p2 10.1.1.40 UDP 123

Sep 18 19:34:08 rac2.cao.local ntpd[17855]: Listen normally on 6 virbr0 192.168.122.1 UDP 123

Sep 18 19:34:08 rac2.cao.local ntpd[17855]: Listen normally on 7 p1p1 fe80::f6c7:aaff:fe32:6df0 UDP 123

Sep 18 19:34:08 rac2.cao.local ntpd[17855]: Listen normally on 8 lo ::1 UDP 123

Sep 18 19:34:08 rac2.cao.local ntpd[17855]: Listen normally on 9 p1p2 fe80::f6c7:aaff:fe32:6df1 UDP 123

Sep 18 19:34:08 rac2.cao.local ntpd[17855]: Listening on routing socket on fd #26 for interface updates

Sep 18 19:34:18 rac2.cao.local ntpd[17855]: Deferring DNS for 0.rhel.pool.ntp.org 1

[root@rac2 ~]# ntpq -p

remote refid st t when poll reach delay offset jitter

==============================================================================

*192.168.2.47 155.0.2.187 6 u 3 64 1 0.091 -0.351 0.062

unzip grid software

SSH connectivity

Cd /u01/app/19C/grid/deinstall

./sshUserSetup.sh -user oracle -hosts “rac1 rac2” -noPromptpassphrase -confirm –advanced

[root@rac1 ~]# /usr/sbin/oracleasm

oracleasm oracleasm-discover oracleasm.init

[root@rac1 ~]# /usr/sbin/oracleasm configure -i

Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library

driver. The following questions will determine whether the driver is

loaded on boot and what permissions it will have. The current values

will be shown in brackets (‘[]’). Hitting <ENTER> without typing an

answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: oracle

Default group to own the driver interface []: oinstall

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done

[root@rac1 ~]# /usr/sbin/oracleasm configure

ORACLEASM_ENABLED=true

ORACLEASM_UID=oracle

ORACLEASM_GID=oinstall

ORACLEASM_SCANBOOT=true

ORACLEASM_SCANORDER=””

ORACLEASM_SCANEXCLUDE=””

ORACLEASM_SCAN_DIRECTORIES=””

ORACLEASM_USE_LOGICAL_BLOCK_SIZE=”false”

[root@rac1 ~]#

[root@rac1 ~]#

[root@rac1 ~]#

[root@rac1 ~]# /usr/sbin/oracleasm init

Creating /dev/oracleasm mount point: /dev/oracleasm

Loading module “oracleasm”: oracleasm

Configuring “oracleasm” to use device physical block size

Mounting ASMlib driver filesystem: /dev/oracleasm

[root@rac1 ~]#

[root@rac1 ~]# df -ha |grep oracle

oracleasmfs 0 0 0 – /dev/oracleasm

[root@rac1 ~]#

[root@rac1 ~]# cd /u01/app/19C/grid/

[root@rac1 grid]# oracleasm createdisk OCR1 /dev/sdb1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk OCR2 /dev/sdc1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk OCR3 /dev/sdd1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk OCR4 /dev/sde1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk OCR5 /dev/sdf1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk MGMT /dev/sdg1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk FRA /dev/sdh1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk DATA1 /dev/sdi1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm createdisk DATA2 /dev/sdj1

Writing disk header: done

Instantiating disk: done

[root@rac1 grid]# oracleasm scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks…

Scanning system for ASM disks…

[root@rac1 grid]# oracleasm listdisks

DATA

FRA

MGMT

OCR1

OCR2

OCR3

[root@rac1 grid]#

In node 2

[root@rac2 ~]# /usr/sbin/oracleasm configure -i

Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library

driver. The following questions will determine whether the driver is

loaded on boot and what permissions it will have. The current values

will be shown in brackets (‘[]’). Hitting <ENTER> without typing an

answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: oracle

Default group to own the driver interface []: oinstall

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done

[root@rac2 ~]#

[root@rac2 ~]#

[root@rac2 ~]# /usr/sbin/oracleasm init

Creating /dev/oracleasm mount point: /dev/oracleasm

Loading module “oracleasm”: oracleasm

Configuring “oracleasm” to use device physical block size

Mounting ASMlib driver filesystem: /dev/oracleasm

[root@rac2 ~]#

[root@rac2 ~]#

[root@rac2 ~]# cd /u01/app/19C/grid/

[root@rac2 grid]# oracleasm scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks…

Scanning system for ASM disks…

Instantiating disk “DATA”

Instantiating disk “FRA”

Instantiating disk “OCR1”

Instantiating disk “OCR2”

Instantiating disk “OCR3”

Instantiating disk “MGMT”

[root@rac2 grid]# oracleasm listdisks

DATA

FRA

MGMT

OCR1

OCR2

OCR3

[root@rac2 grid]#

./runcluvfy.sh stage –pre crsinst –n rac1,rac2 -verbose

Disable avahi-daemon

[root@rac2 ~]# systemctl status avahi-daemon

â avahi-daemon.service – Avahi mDNS/DNS-SD Stack

Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)

Active: active (running) since Wed 2022-09-07 16:14:15 IST; 3h 19min ago

Main PID: 2232 (avahi-daemon)

Status: “avahi-daemon 0.6.31 starting up.”

CGroup: /system.slice/avahi-daemon.service

ââ2232 avahi-daemon: running [rac2.local]

ââ2249 avahi-daemon: chroot helper

Sep 07 16:14:15 rac2.cao.local avahi-daemon[2232]: New relevant interface p1p2.IPv4 for mDNS.

Sep 07 16:14:15 rac2.cao.local avahi-daemon[2232]: Registering new address record for 192.168.2.114 on p1p2.IPv4.

Sep 07 16:14:16 rac2.cao.local avahi-daemon[2232]: Withdrawing address record for 192.168.2.114 on p1p2.

Sep 07 16:14:16 rac2.cao.local avahi-daemon[2232]: Leaving mDNS multicast group on interface p1p2.IPv4 with address 192.168.2.114.

Sep 07 16:14:16 rac2.cao.local avahi-daemon[2232]: Interface p1p2.IPv4 no longer relevant for mDNS.

Sep 07 16:14:16 rac2.cao.local avahi-daemon[2232]: Joining mDNS multicast group on interface p1p2.IPv4 with address 192.168.2.114.

Sep 07 16:14:16 rac2.cao.local avahi-daemon[2232]: New relevant interface p1p2.IPv4 for mDNS.

Sep 07 16:14:16 rac2.cao.local avahi-daemon[2232]: Registering new address record for 192.168.2.114 on p1p2.IPv4.

Sep 07 16:14:17 rac2.cao.local avahi-daemon[2232]: Registering new address record for fe80::f6c7:aaff:fe32:6df0 on p1p1.*.

Sep 07 16:14:17 rac2.cao.local avahi-daemon[2232]: Registering new address record for fe80::f6c7:aaff:fe32:6df1 on p1p2.*.

[root@rac2 ~]# systemctl stop avahi-daemon

Warning: Stopping avahi-daemon.service, but it can still be activated by:

avahi-daemon.socket

[root@rac2 ~]# systemctl disable avahi-daemon

Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.

Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service.

Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.

[root@rac2 ~]# systemctl status avahi-daemon

â avahi-daemon.service – Avahi mDNS/DNS-SD Stack

Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; disabled; vendor preset: enabled)

Active: inactive (dead) since Wed 2022-09-07 19:33:49 IST; 26s ago

Main PID: 2232 (code=exited, status=0/SUCCESS)

Status: “avahi-daemon 0.6.31 starting up.”

Sep 07 16:14:16 rac2.cao.local avahi-daemon[2232]: New relevant interface p1p2.IPv4 for mDNS.

Sep 07 16:14:16 rac2.cao.local avahi-daemon[2232]: Registering new address record for 192.168.2.114 on p1p2.IPv4.

Sep 07 16:14:17 rac2.cao.local avahi-daemon[2232]: Registering new address record for fe80::f6c7:aaff:fe32:6df0 on p1p1.*.

Sep 07 16:14:17 rac2.cao.local avahi-daemon[2232]: Registering new address record for fe80::f6c7:aaff:fe32:6df1 on p1p2.*.

Sep 07 19:33:49 rac2.cao.local systemd[1]: Stopping Avahi mDNS/DNS-SD Stack…

Sep 07 19:33:49 rac2.cao.local avahi-daemon[2232]: Got SIGTERM, quitting.

Sep 07 19:33:49 rac2.cao.local avahi-daemon[2232]: Leaving mDNS multicast group on interface p1p2.IPv4 with address 192.168.2.114.

Sep 07 19:33:49 rac2.cao.local avahi-daemon[2232]: Leaving mDNS multicast group on interface p1p1.IPv4 with address 192.168.2.113.

Sep 07 19:33:49 rac2.cao.local avahi-daemon[2232]: avahi-daemon 0.6.31 exiting.

Sep 07 19:33:49 rac2.cao.local systemd[1]: Stopped Avahi mDNS/DNS-SD Stack.

[root@rac2 ~]#

Verifying zeroconf check …FAILED

rac2: PRVE-10077 : NOZEROCONF parameter was not specified or was not set to

‘yes’ in file “/etc/sysconfig/network” on node “rac2.cao.local”

[root@rac2 ~]# vi /etc/sysconfig/network

# Created by anaconda

NOZEROCONF=YES

Save

In both nodes

[root@rac1 ~]# cd /etc/sysconfig/network-scripts/

[root@rac1 network-scripts]# ll

total 264

-rw-r–r–. 1 root root 254 Aug 19 2019 ifcfg-lo

-rw-r–r–. 1 root root 264 Sep 6 20:15 ifcfg-p1p1

-rw-r–r–. 1 root root 305 Sep 7 08:25 ifcfg-p1p1:0

-rw-r–r–. 1 root root 357 Sep 6 20:16 ifcfg-p1p2

[root@rac1 network-scripts]# cat ifcfg-p1p2

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none

IPADDR=192.168.2.112

[root@rac1 network-scripts]# ifdown ifcfg-p1p2

Device ‘p1p2’ successfully disconnected.

[root@rac1 network-scripts]# ssh rac2

Last login: Wed Sep 7 21:26:12 2022 from rac1-vip.cao.local

[root@rac2 ~]# cd /etc/sysconfig/network-scripts/

[root@rac2 network-scripts]# ll

-rw-r–r–. 1 root root 254 Aug 19 2019 ifcfg-lo

-rw-r–r–. 1 root root 359 Sep 6 18:36 ifcfg-p1p1

-rw-r–r–. 1 root root 348 Sep 7 11:16 ifcfg-p1p1:0

-rw-r–r–. 1 root root 246 Sep 6 16:03 ifcfg-Profile_1

[root@rac2 network-scripts]# cat ifcfg-Profile_1

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none

IPADDR=192.168.2.114

[root@rac2 network-scripts]# ifdown ifcfg-Profile_1

Device ‘p1p2’ successfully disconnected.

Go to /u01/app/19c/grid/cv/rpm

install

cvuqdisk-1.0.10-1.rpm

C:\Users\administrator\Desktop\Capture.PNG

Then run the ./gridsetup.sh

Ignoreall and continue

Ifup ifcfg:eth0:0 in both nodes(virtual IP)

Service network restart

Run the scripts in both nodes C:\Users\administrator\Desktop\root.sh.PNG

[root@rac1 network-scripts]# /u01/app/oraInventory/

ContentsXML/ logs/ orainstRoot.sh

[root@rac1 network-scripts]# /u01/app/oraInventory/orainstRoot.sh

Changing permissions of /u01/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.

The execution of the script is complete.

[root@rac1 network-scripts]# /u01/app/19c/grid/root.sh

Performing root user operation.

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/19c/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:

Copying dbhome to /usr/local/bin …

Copying oraenv to /usr/local/bin …

Copying coraenv to /usr/local/bin …

Creating /etc/oratab file…

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Relinking oracle with rac_on option

Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params

The log of current session can be found at:

/u01/app/oracle/crsdata/rac1/crsconfig/rootcrs_rac1_2022-09-18_11-30-46PM.log

2022/09/18 23:30:55 CLSRSC-594: Executing installation step 1 of 19: ‘SetupTFA’.

2022/09/18 23:30:55 CLSRSC-594: Executing installation step 2 of 19: ‘ValidateEnv’.

2022/09/18 23:30:55 CLSRSC-363: User ignored prerequisites during installation

2022/09/18 23:30:55 CLSRSC-594: Executing installation step 3 of 19: ‘CheckFirstNode’.

2022/09/18 23:30:57 CLSRSC-594: Executing installation step 4 of 19: ‘GenSiteGUIDs’.

2022/09/18 23:30:58 CLSRSC-594: Executing installation step 5 of 19: ‘SetupOSD’.

2022/09/18 23:30:58 CLSRSC-594: Executing installation step 6 of 19: ‘CheckCRSConfig’.

2022/09/18 23:30:58 CLSRSC-594: Executing installation step 7 of 19: ‘SetupLocalGPNP’.

2022/09/18 23:31:09 CLSRSC-594: Executing installation step 8 of 19: ‘CreateRootCert’.

2022/09/18 23:31:13 CLSRSC-594: Executing installation step 9 of 19: ‘ConfigOLR’.

2022/09/18 23:31:18 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.

2022/09/18 23:31:24 CLSRSC-594: Executing installation step 10 of 19: ‘ConfigCHMOS’.

2022/09/18 23:31:24 CLSRSC-594: Executing installation step 11 of 19: ‘CreateOHASD’.

2022/09/18 23:31:29 CLSRSC-594: Executing installation step 12 of 19: ‘ConfigOHASD’.

2022/09/18 23:31:30 CLSRSC-330: Adding Clusterware entries to file ‘oracle-ohasd.service’

2022/09/18 23:31:54 CLSRSC-594: Executing installation step 13 of 19: ‘InstallAFD’.

2022/09/18 23:32:00 CLSRSC-594: Executing installation step 14 of 19: ‘InstallACFS’.

2022/09/18 23:32:06 CLSRSC-594: Executing installation step 15 of 19: ‘InstallKA’.

2022/09/18 23:32:12 CLSRSC-594: Executing installation step 16 of 19: ‘InitConfig’.

ASM has been created and started successfully.

[DBT-30001] Disk groups created successfully. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-220918PM113245.log for details.

2022/09/18 23:33:29 CLSRSC-482: Running command: ‘/u01/app/19c/grid/bin/ocrconfig -upgrade oracle oinstall’

CRS-4256: Updating the profile

Successful addition of voting disk 37d1cedae9874fd7bf74136bd722dcdb.

Successful addition of voting disk 2aeb78335c504f4abfaf8cbb2f610ac0.

Successful addition of voting disk e278c88189d94fb3bf97421b3cc0b63f.

Successful addition of voting disk 292299389cac4f48bf40917578f90e83.

Successful addition of voting disk dc1f6c0df03a4fc3bfad1fbe10c6b78f.

Successfully replaced voting disk group with +OCR_VOTE.

CRS-4256: Updating the profile

CRS-4266: Voting file(s) successfully replaced

## STATE File Universal Id File Name Disk group

— —– —————– ——— ———

1. ONLINE 37d1cedae9874fd7bf74136bd722dcdb (/dev/oracleasm/disks/OCR1) [OCR_VOTE]

2. ONLINE 2aeb78335c504f4abfaf8cbb2f610ac0 (/dev/oracleasm/disks/OCR2) [OCR_VOTE]

3. ONLINE e278c88189d94fb3bf97421b3cc0b63f (/dev/oracleasm/disks/OCR3) [OCR_VOTE]

4. ONLINE 292299389cac4f48bf40917578f90e83 (/dev/oracleasm/disks/OCR4) [OCR_VOTE]

5. ONLINE dc1f6c0df03a4fc3bfad1fbe10c6b78f (/dev/oracleasm/disks/OCR5) [OCR_VOTE]

Located 5 voting disk(s).

2022/09/18 23:35:03 CLSRSC-594: Executing installation step 17 of 19: ‘StartCluster’.

2022/09/18 23:36:04 CLSRSC-343: Successfully started Oracle Clusterware stack

2022/09/18 23:36:05 CLSRSC-594: Executing installation step 18 of 19: ‘ConfigNode’.

PRCC-1108 : Invalid VIP address 192.168.2.112 because the specified IP address is reachable

2022/09/18 23:36:28 CLSRSC-180: An error occurred while executing the command ‘/u01/app/19c/grid/bin/srvctl add nodeapps -n rac1 -A “rac1-vip.cao.local/255.255.255.0/p1p1” -clientdata /u01/app/oracle/crsdata/rac1/onswallet/ONS/cwallet.sso’

2022/09/18 23:36:29 CLSRSC-286: Failed to add Grid Infrastructure node applications

[root@rac1 network-scripts]# ifdown ifcfg-p1p1:0

[root@rac1 network-scripts]# /u01/app/19c/grid/root.sh

Performing root user operation.

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/19c/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The contents of “dbhome” have not changed. No need to overwrite.

The contents of “oraenv” have not changed. No need to overwrite.

The contents of “coraenv” have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Relinking oracle with rac_on option

Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params

The log of current session can be found at:

/u01/app/oracle/crsdata/rac1/crsconfig/rootcrs_rac1_2022-09-18_11-38-03PM.log

2022/09/18 23:38:08 CLSRSC-594: Executing installation step 1 of 19: ‘SetupTFA’.

2022/09/18 23:38:08 CLSRSC-594: Executing installation step 2 of 19: ‘ValidateEnv’.

2022/09/18 23:38:08 CLSRSC-363: User ignored prerequisites during installation

2022/09/18 23:38:08 CLSRSC-594: Executing installation step 3 of 19: ‘CheckFirstNode’.

2022/09/18 23:38:08 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.

2022/09/18 23:38:10 CLSRSC-594: Executing installation step 4 of 19: ‘GenSiteGUIDs’.

2022/09/18 23:38:11 CLSRSC-594: Executing installation step 5 of 19: ‘SetupOSD’.

2022/09/18 23:38:11 CLSRSC-594: Executing installation step 6 of 19: ‘CheckCRSConfig’.

2022/09/18 23:38:12 CLSRSC-594: Executing installation step 7 of 19: ‘SetupLocalGPNP’.

2022/09/18 23:38:13 CLSRSC-594: Executing installation step 8 of 19: ‘CreateRootCert’.

2022/09/18 23:38:16 CLSRSC-594: Executing installation step 9 of 19: ‘ConfigOLR’.

2022/09/18 23:38:17 CLSRSC-594: Executing installation step 10 of 19: ‘ConfigCHMOS’.

2022/09/18 23:38:17 CLSRSC-594: Executing installation step 11 of 19: ‘CreateOHASD’.

2022/09/18 23:38:18 CLSRSC-594: Executing installation step 12 of 19: ‘ConfigOHASD’.

2022/09/18 23:38:21 CLSRSC-594: Executing installation step 13 of 19: ‘InstallAFD’.

2022/09/18 23:38:21 CLSRSC-594: Executing installation step 14 of 19: ‘InstallACFS’.

2022/09/18 23:38:23 CLSRSC-594: Executing installation step 15 of 19: ‘InstallKA’.

2022/09/18 23:38:26 CLSRSC-594: Executing installation step 16 of 19: ‘InitConfig’.

2022/09/18 23:38:51 CLSRSC-594: Executing installation step 17 of 19: ‘StartCluster’.

2022/09/18 23:39:49 CLSRSC-343: Successfully started Oracle Clusterware stack

2022/09/18 23:39:49 CLSRSC-594: Executing installation step 18 of 19: ‘ConfigNode’.

2022/09/18 23:41:07 CLSRSC-594: Executing installation step 19 of 19: ‘PostConfig’.

[INFO] [DBT-30001] Disk groups created successfully. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-220918PM114111.log for details.

2022/09/18 23:41:48 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster … succeeded

[root@rac1 network-scripts]#

Creating /etc/oratab file…

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Relinking oracle with rac_on option

Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params

The log of current session can be found at:

/u01/app/oracle/crsdata/rac1/crsconfig/rootcrs_rac1_2022-09-18_11-30-46PM.log

2022/09/18 23:30:55 CLSRSC-594: Executing installation step 1 of 19: ‘SetupTFA’.

2022/09/18 23:30:55 CLSRSC-594: Executing installation step 2 of 19: ‘ValidateEnv’.

2022/09/18 23:30:55 CLSRSC-363: User ignored prerequisites during installation

2022/09/18 23:30:55 CLSRSC-594: Executing installation step 3 of 19: ‘CheckFirstNode’.

2022/09/18 23:30:57 CLSRSC-594: Executing installation step 4 of 19: ‘GenSiteGUIDs’.

2022/09/18 23:30:58 CLSRSC-594: Executing installation step 5 of 19: ‘SetupOSD’.

2022/09/18 23:30:58 CLSRSC-594: Executing installation step 6 of 19: ‘CheckCRSConfig’.

2022/09/18 23:30:58 CLSRSC-594: Executing installation step 7 of 19: ‘SetupLocalGPNP’.

2022/09/18 23:31:09 CLSRSC-594: Executing installation step 8 of 19: ‘CreateRootCert’.

2022/09/18 23:31:13 CLSRSC-594: Executing installation step 9 of 19: ‘ConfigOLR’.

2022/09/18 23:31:18 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.

2022/09/18 23:31:24 CLSRSC-594: Executing installation step 10 of 19: ‘ConfigCHMOS’.

2022/09/18 23:31:24 CLSRSC-594: Executing installation step 11 of 19: ‘CreateOHASD’.

2022/09/18 23:31:29 CLSRSC-594: Executing installation step 12 of 19: ‘ConfigOHASD’.

2022/09/18 23:31:30 CLSRSC-330: Adding Clusterware entries to file ‘oracle-ohasd.service’

2022/09/18 23:31:54 CLSRSC-594: Executing installation step 13 of 19: ‘InstallAFD’.

2022/09/18 23:32:00 CLSRSC-594: Executing installation step 14 of 19: ‘InstallACFS’.

2022/09/18 23:32:06 CLSRSC-594: Executing installation step 15 of 19: ‘InstallKA’.

2022/09/18 23:32:12 CLSRSC-594: Executing installation step 16 of 19: ‘InitConfig’.

ASM has been created and started successfully.

[DBT-30001] Disk groups created successfully. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-220918PM113245.log for details.

2022/09/18 23:33:29 CLSRSC-482: Running command: ‘/u01/app/19c/grid/bin/ocrconfig -upgrade oracle oinstall’

CRS-4256: Updating the profile

Successful addition of voting disk 37d1cedae9874fd7bf74136bd722dcdb.

Successful addition of voting disk 2aeb78335c504f4abfaf8cbb2f610ac0.

Successful addition of voting disk e278c88189d94fb3bf97421b3cc0b63f.

Successful addition of voting disk 292299389cac4f48bf40917578f90e83.

Successful addition of voting disk dc1f6c0df03a4fc3bfad1fbe10c6b78f.

Successfully replaced voting disk group with +OCR_VOTE.

CRS-4256: Updating the profile

CRS-4266: Voting file(s) successfully replaced

## STATE File Universal Id File Name Disk group

— —– —————– ——— ———

1. ONLINE 37d1cedae9874fd7bf74136bd722dcdb (/dev/oracleasm/disks/OCR1) [OCR_VOTE]

2. ONLINE 2aeb78335c504f4abfaf8cbb2f610ac0 (/dev/oracleasm/disks/OCR2) [OCR_VOTE]

3. ONLINE e278c88189d94fb3bf97421b3cc0b63f (/dev/oracleasm/disks/OCR3) [OCR_VOTE]

4. ONLINE 292299389cac4f48bf40917578f90e83 (/dev/oracleasm/disks/OCR4) [OCR_VOTE]

5. ONLINE dc1f6c0df03a4fc3bfad1fbe10c6b78f (/dev/oracleasm/disks/OCR5) [OCR_VOTE]

Located 5 voting disk(s).

2022/09/18 23:35:03 CLSRSC-594: Executing installation step 17 of 19: ‘StartCluster’.

2022/09/18 23:36:04 CLSRSC-343: Successfully started Oracle Clusterware stack

2022/09/18 23:36:05 CLSRSC-594: Executing installation step 18 of 19: ‘ConfigNode’.

PRCC-1108 : Invalid VIP address 192.168.2.112 because the specified IP address is reachable

2022/09/18 23:36:28 CLSRSC-180: An error occurred while executing the command ‘/u01/app/19c/grid/bin/srvctl add nodeapps -n rac1 -A “rac1-vip.cao.local/255.255.255.0/p1p1” -clientdata /u01/app/oracle/crsdata/rac1/onswallet/ONS/cwallet.sso’

2022/09/18 23:36:29 CLSRSC-286: Failed to add Grid Infrastructure node applications

[root@rac1 network-scripts]# ifdown ifcfg-p1p1:0

[root@rac1 network-scripts]# /u01/app/19c/grid/root.sh

Performing root user operation.

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/19c/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The contents of “dbhome” have not changed. No need to overwrite.

The contents of “oraenv” have not changed. No need to overwrite.

The contents of “coraenv” have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Relinking oracle with rac_on option

Using configuration parameter file: /u01/app/19c/grid/crs/install/crsconfig_params

The log of current session can be found at:

/u01/app/oracle/crsdata/rac1/crsconfig/rootcrs_rac1_2022-09-18_11-38-03PM.log

2022/09/18 23:38:08 CLSRSC-594: Executing installation step 1 of 19: ‘SetupTFA’.

2022/09/18 23:38:08 CLSRSC-594: Executing installation step 2 of 19: ‘ValidateEnv’.

2022/09/18 23:38:08 CLSRSC-363: User ignored prerequisites during installation

2022/09/18 23:38:08 CLSRSC-594: Executing installation step 3 of 19: ‘CheckFirstNode’.

2022/09/18 23:38:08 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.

2022/09/18 23:38:10 CLSRSC-594: Executing installation step 4 of 19: ‘GenSiteGUIDs’.

2022/09/18 23:38:11 CLSRSC-594: Executing installation step 5 of 19: ‘SetupOSD’.

2022/09/18 23:38:11 CLSRSC-594: Executing installation step 6 of 19: ‘CheckCRSConfig’.

2022/09/18 23:38:12 CLSRSC-594: Executing installation step 7 of 19: ‘SetupLocalGPNP’.

2022/09/18 23:38:13 CLSRSC-594: Executing installation step 8 of 19: ‘CreateRootCert’.

2022/09/18 23:38:16 CLSRSC-594: Executing installation step 9 of 19: ‘ConfigOLR’.

2022/09/18 23:38:17 CLSRSC-594: Executing installation step 10 of 19: ‘ConfigCHMOS’.

2022/09/18 23:38:17 CLSRSC-594: Executing installation step 11 of 19: ‘CreateOHASD’.

2022/09/18 23:38:18 CLSRSC-594: Executing installation step 12 of 19: ‘ConfigOHASD’.

2022/09/18 23:38:21 CLSRSC-594: Executing installation step 13 of 19: ‘InstallAFD’.

2022/09/18 23:38:21 CLSRSC-594: Executing installation step 14 of 19: ‘InstallACFS’.

2022/09/18 23:38:23 CLSRSC-594: Executing installation step 15 of 19: ‘InstallKA’.

2022/09/18 23:38:26 CLSRSC-594: Executing installation step 16 of 19: ‘InitConfig’.

2022/09/18 23:38:51 CLSRSC-594: Executing installation step 17 of 19: ‘StartCluster’.

2022/09/18 23:39:49 CLSRSC-343: Successfully started Oracle Clusterware stack

2022/09/18 23:39:49 CLSRSC-594: Executing installation step 18 of 19: ‘ConfigNode’.

2022/09/18 23:41:07 CLSRSC-594: Executing installation step 19 of 19: ‘PostConfig’.

[INFO] [DBT-30001] Disk groups created successfully. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-220918PM114111.log for details.

2022/09/18 23:41:48 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster … succeeded

[root@rac1 network-scripts]#

INFO: [Sep 8, 2022 8:24:02 AM] Failures were encountered during execution of CVU verification request “stage -post crsinst”.

INFO: [Sep 8, 2022 8:24:02 AM] Verifying Single Client Access Name (SCAN) …FAILED

INFO: [Sep 8, 2022 8:24:02 AM] PRVG-11372 : Number of SCAN IP addresses that SCAN “scanrac.cao.local” resolved

INFO: [Sep 8, 2022 8:24:02 AM] to did not match the number of SCAN VIP resources

INFO: [Sep 8, 2022 8:24:02 AM] Verifying DNS/NIS name service ‘scanrac.cao.local’ …FAILED

INFO: [Sep 8, 2022 8:24:02 AM] PRVG-1101 : SCAN name “scanrac.cao.local” failed to resolve

INFO: [Sep 8, 2022 8:24:02 AM] Verifying Clock Synchronization …FAILED

INFO: [Sep 8, 2022 8:24:02 AM] Verifying Network Time Protocol (NTP) …FAILED

INFO: [Sep 8, 2022 8:24:02 AM] Verifying NTP daemon is synchronized with at least one external time source

INFO: [Sep 8, 2022 8:24:02 AM] …FAILED

INFO: [Sep 8, 2022 8:24:02 AM] rac2: PRVG-13602 : NTP daemon is not synchronized with any external time

INFO: [Sep 8, 2022 8:24:02 AM] source on node “rac2”.

INFO: [Sep 8, 2022 8:24:02 AM] rac1: PRVG-13602 : NTP daemon is not synchronized with any external time

INFO: [Sep 8, 2022 8:24:02 AM] source on node “rac1”.

[root@rac1 etc]# service ntpd restart

Redirecting to /bin/systemctl restart ntpd.service

[root@rac1 etc]# ssh rac2

Last login: Thu Sep 8 07:48:18 2022

[root@rac2 ~]# service ntpd restart

Redirecting to /bin/systemctl restart ntpd.service

[root@rac2 ~]# date

Thu Sep 8 08:24:38 IST 2022

[root@rac2 ~]# logout

Connection to rac2 closed.

[root@rac1 etc]# date

Thu Sep 8 08:24:43 IST 2022

[root@rac1 etc]# ntpq -p

No association ID’s returned

Edit ntp.conf file

[root@rac1 etc]# vi /etc/ntp.conf

# For more information about this file, see the man pages

# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not

# permit the source to query or modify the service on this system.

restrict default nomodify notrap nopeer noquery

# Permit all access over the loopback interface. This could

# be tightened as well, but to do so would effect some of

# the administrative functions.

restrict 127.0.0.1

restrict ::1

# Hosts on local network are less restricted.

#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

#server 0.rhel.pool.ntp.org iburst

#server 1.rhel.pool.ntp.org iburst

#server 2.rhel.pool.ntp.org iburst

#server 3.rhel.pool.ntp.org iburst

server 192.168.2.47 iburst

Check the status again

[root@rac2 ~]# service ntpd restart

Redirecting to /bin/systemctl restart ntpd.service

[root@rac2 ~]# logout

Connection to rac2 closed.

[root@rac1 etc]# service ntpd restart

Redirecting to /bin/systemctl restart ntpd.service

[root@rac1 etc]# ntpq -p

remote refid st t when poll reach delay offset jitter

==============================================================================

*192.168.2.47 155.0.2.188 5 u 1 64 1 0.157 12.878 0.043

[root@rac1 etc]# ssh rac2

Last login: Thu Sep 8 08:37:42 2022 from rac1.cao.local

[root@rac2 ~]# ntpq -p

remote refid st t when poll reach delay offset jitter

==============================================================================

*192.168.2.47 155.0.2.188 5 u 20 64 1 0.137 9.248 0.042

[root@rac2 ~]#

Verifying Single Client Access Name (SCAN) …FAILED

Add entries of database scan details in dns server

After rectifying the error

Click RETRY option to re –run

The error will resolve

[root@rac1 ~]# cd /u01/app/19C/grid/bin/

[root@rac1 bin]# ./crsctl status resource -t

——————————————————————————–

Name Target State Server State details

——————————————————————————–

Local Resources

——————————————————————————–

ora.LISTENER.lsnr

ONLINE ONLINE rac1 STABLE

ONLINE ONLINE rac2 STABLE

ora.chad

ONLINE ONLINE rac1 STABLE

ONLINE ONLINE rac2 STABLE

ora.net1.network

ONLINE ONLINE rac1 STABLE

ONLINE ONLINE rac2 STABLE

ora.ons

ONLINE ONLINE rac1 STABLE

ONLINE ONLINE rac2 STABLE

——————————————————————————–

Cluster Resources

——————————————————————————–

ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 OFFLINE OFFLINE STABLE

ora.LISTENER_SCAN1.lsnr

1 ONLINE ONLINE rac2 STABLE

ora.LISTENER_SCAN2.lsnr

1 ONLINE ONLINE rac1 STABLE

ora.LISTENER_SCAN3.lsnr

1 ONLINE ONLINE rac1 STABLE

ora.MGMT.dg(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 OFFLINE OFFLINE STABLE

ora.MGMTLSNR

1 ONLINE ONLINE rac1 169.254.16.207 10.1.

1.30,STABLE

ora.OCR_VOTE.dg(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 OFFLINE OFFLINE STABLE

ora.asm(ora.asmgroup)

1 ONLINE ONLINE rac1 Started,STABLE

2 ONLINE ONLINE rac2 Started,STABLE

3 OFFLINE OFFLINE STABLE

ora.asmnet1.asmnetwork(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 OFFLINE OFFLINE STABLE

ora.cvu

1 ONLINE ONLINE rac1 STABLE

ora.mgmtdb

1 ONLINE ONLINE rac1 Open,STABLE

ora.qosmserver

1 ONLINE ONLINE rac1 STABLE

ora.rac1.vip

1 ONLINE ONLINE rac1 STABLE

ora.rac2.vip

1 ONLINE ONLINE rac2 STABLE

ora.scan1.vip

1 ONLINE ONLINE rac2 STABLE

ora.scan2.vip

1 ONLINE ONLINE rac1 STABLE

ora.scan3.vip

1 ONLINE ONLINE rac1 STABLE

——————————————————————————–

[root@rac1 bin]# crsctl check crs

bash: crsctl: command not found…

[root@rac1 bin]# ./crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

[root@rac1 bin]#

Install and configure oracle software

Activate bash profile in both nodes

. .bash_profile

Copy oracle software to $ORACLE_HOME

Unzip the oracle software

[root@rac1 db_1]# chown -R oracle.oinstall /u01/app/oracle/product/19C/db_1/

[root@rac1 db_1]# chmod -R 775 /u01/

[root@rac1 db_1]#

Cd /u01/app/oracle/product/19C/db_1/

./runInstaller

Select all

Check ssh connectivity

Wait

Connectivity established

Set group

Ignore all and next

Yes

Install

C:\Users\administrator\Desktop\software img.PNG

[root@rac1 ~]# /u01/app/oracle/product/19C/db_1/root.sh

Performing root user operation.

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/oracle/product/19C/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:

Copying dbhome to /usr/local/bin …

Copying oraenv to /usr/local/bin …

Copying coraenv to /usr/local/bin …

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

[root@rac1 ~]# ssh rac2

Last login: Thu Sep 8 09:17:11 2022 from rac1.cao.local

[root@rac2 ~]# /u01/app/oracle/product/19C/db_1/root.sh

Performing root user operation.

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/oracle/product/19C/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The contents of “dbhome” have not changed. No need to overwrite.

The contents of “oraenv” have not changed. No need to overwrite.

The contents of “coraenv” have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

[root@rac2 ~]#

[oracle@rac1 ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

#ORACLE PARAMETERS

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19C/db_1

export GRID_HOME=/u01/app/19C/grid

export ORACLE_SID=RAC1

export ORACLE_UNIQNAME=RACDB

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

alias grid=’./home/oracle/grid.env’

alias db=’./home/oracle/db.env’

create text file(grid.env) in /home/oracle

[oracle@rac1 ~]$ . grid.env

[oracle@rac1 ~]$ cat grid.env

export ORACLE_SID=+ASM1

export ORACLE_HOME=$GRID_HOME

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

create text file(db.env) in /home/oracle

[oracle@rac1 ~]$ cat db.env

export ORACLE_SID=RAC1

export ORACLE_UNIQNAME=RACDB

export ORACLE_HOME=$DB_HOME

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

Asm configuration

Activate grid home profile

. grid.env

Asmca

Select disk group and click on create

Disk group name DATA and select external and click on ok

Again click on create

Edit disk group name FRA and select Disk FRA and OK

Click on exit and yes

Database configuration

Login with oracle

Set environment

. db.env

. .bash_profile

Create database

Advanced

Select all

Data

Set fra size as aallotted

Allot sga size 75% of ram size

Close

Post check for RAC Setup

Check thes status of the RAC

[oracle@rac1 ~]$ . .bash_profile

[oracle@rac1 ~]$ srvctl config database -d racdb

Database unique name: racdb

Database name: racdb

Oracle home: /u01/app/oracle/product/19C/db_1

Oracle user: oracle

Spfile: +DATA/RACDB/PARAMETERFILE/spfile.268.1114858643

Password file: +DATA/RACDB/PASSWORD/pwdracdb.256.1114858195

Domain: cao.local

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools:

Disk Groups: FRA,DATA

Mount point paths:

Services:

Type: RAC

Start concurrency:

Stop concurrency:

OSDBA group: oinstall

OSOPER group: oinstall

Database instances: racdb1,racdb2

Configured nodes: rac1,rac2

CSS critical: no

CPU count: 0

Memory target: 0

Maximum memory: 0

Default network number for database services:

Database is administrator managed

Database level

[oracle@rac1 ~]$

[oracle@rac1 ~]$

[oracle@rac1 ~]$

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 – Production on Thu Sep 8 11:03:48 2022

Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

Connected to an idle instance.

SQL> exit

Disconnected

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 – Production on Thu Sep 8 11:06:41 2022

Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

Connected to an idle instance.

SQL> select open_mode from v$database;

select open_mode from v$database

*

ERROR at line 1:

ORA-01034: ORACLE not available

Process ID: 0

Session ID: 0 Serial number: 0

SQL>

[root@rac1 ~]# cd /u01/app/19C/grid/bin/

[root@rac1 bin]# ./crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

[root@rac1 bin]# ./crsctl status resource -t

——————————————————————————–

Name Target State Server State details

——————————————————————————–

Local Resources

——————————————————————————–

ora.LISTENER.lsnr

ONLINE ONLINE rac1 STABLE

ONLINE ONLINE rac2 STABLE

ora.chad

ONLINE ONLINE rac1 STABLE

ONLINE ONLINE rac2 STABLE

ora.net1.network

ONLINE ONLINE rac1 STABLE

ONLINE ONLINE rac2 STABLE

ora.ons

ONLINE ONLINE rac1 STABLE

ONLINE ONLINE rac2 STABLE

——————————————————————————–

Cluster Resources

——————————————————————————–

ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 OFFLINE OFFLINE STABLE

ora.DATA.dg(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 ONLINE OFFLINE STABLE

ora.FRA.dg(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 ONLINE OFFLINE STABLE

ora.LISTENER_SCAN1.lsnr

1 ONLINE ONLINE rac2 STABLE

ora.LISTENER_SCAN2.lsnr

1 ONLINE ONLINE rac1 STABLE

ora.LISTENER_SCAN3.lsnr

1 ONLINE ONLINE rac1 STABLE

ora.MGMT.dg(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 OFFLINE OFFLINE STABLE

ora.MGMTLSNR

1 ONLINE ONLINE rac1 169.254.16.207 10.1.

1.30,STABLE

ora.OCR_VOTE.dg(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 OFFLINE OFFLINE STABLE

ora.asm(ora.asmgroup)

1 ONLINE ONLINE rac1 Started,STABLE

2 ONLINE ONLINE rac2 Started,STABLE

3 OFFLINE OFFLINE STABLE

ora.asmnet1.asmnetwork(ora.asmgroup)

1 ONLINE ONLINE rac1 STABLE

2 ONLINE ONLINE rac2 STABLE

3 OFFLINE OFFLINE STABLE

ora.cvu

1 ONLINE ONLINE rac1 STABLE

ora.mgmtdb

1 ONLINE ONLINE rac1 Open,STABLE

ora.qosmserver

1 ONLINE ONLINE rac1 STABLE

ora.rac1.vip

1 ONLINE ONLINE rac1 STABLE

ora.rac2.vip

1 ONLINE ONLINE rac2 STABLE

ora.racdb.db

1 ONLINE ONLINE rac1 Open,HOME=/u01/app/o

racle/product/19C/db

_1,STABLE

2 ONLINE ONLINE rac2 Open,HOME=/u01/app/o

racle/product/19C/db

_1,STABLE

ora.scan1.vip

1 ONLINE ONLINE rac2 STABLE

ora.scan2.vip

1 ONLINE ONLINE rac1 STABLE

ora.scan3.vip

1 ONLINE ONLINE rac1 STABLE

——————————————————————————–

[root@rac1 bin]#

Shutdown procedure

[oracle@rac1 ~]$ cd /u01/app/19C/grid/bin/

[oracle@rac1 bin]$ ./srvctl stop database -d racdb

[oracle@rac1 bin]$

[root@rac1 ~]#

[root@rac1 ~]#

[root@rac1 ~]# cd /u01/app/19C/grid/bin/

[root@rac1 bin]# ./crsctl stop crs

CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘rac1’

CRS-2673: Attempting to stop ‘ora.crsd’ on ‘rac1’

CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on server ‘rac1’

CRS-2673: Attempting to stop ‘ora.LISTENER_SCAN3.lsnr’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.cvu’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.LISTENER.lsnr’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.mgmtdb’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.chad’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.LISTENER_SCAN2.lsnr’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.qosmserver’ on ‘rac1’

CRS-33673: Attempting to stop resource group ‘ora.asmgroup’ on server ‘rac1’

CRS-2673: Attempting to stop ‘ora.OCR_VOTE.dg’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.DATA.dg’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.FRA.dg’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.MGMT.dg’ on ‘rac1’

CRS-2677: Stop of ‘ora.OCR_VOTE.dg’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.FRA.dg’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.DATA.dg’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.MGMT.dg’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.asm’ on ‘rac1’

CRS-2677: Stop of ‘ora.LISTENER_SCAN3.lsnr’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.scan3.vip’ on ‘rac1’

CRS-2677: Stop of ‘ora.LISTENER.lsnr’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.LISTENER_SCAN2.lsnr’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.scan2.vip’ on ‘rac1’

CRS-2677: Stop of ‘ora.cvu’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.scan3.vip’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.scan2.vip’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.asm’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.ASMNET1LSNR_ASM.lsnr’ on ‘rac1’

CRS-2677: Stop of ‘ora.qosmserver’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.chad’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.ASMNET1LSNR_ASM.lsnr’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.asmnet1.asmnetwork’ on ‘rac1’

CRS-2677: Stop of ‘ora.asmnet1.asmnetwork’ on ‘rac1’ succeeded

CRS-33677: Stop of resource group ‘ora.asmgroup’ on server ‘rac1’ succeeded.

CRS-2677: Stop of ‘ora.mgmtdb’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.MGMTLSNR’ on ‘rac1’

CRS-2677: Stop of ‘ora.MGMTLSNR’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.rac1.vip’ on ‘rac1’

CRS-2672: Attempting to start ‘ora.MGMTLSNR’ on ‘rac2’

CRS-2677: Stop of ‘ora.rac1.vip’ on ‘rac1’ succeeded

CRS-2676: Start of ‘ora.MGMTLSNR’ on ‘rac2’ succeeded

CRS-2672: Attempting to start ‘ora.mgmtdb’ on ‘rac2’

CRS-2676: Start of ‘ora.mgmtdb’ on ‘rac2’ succeeded

CRS-2672: Attempting to start ‘ora.qosmserver’ on ‘rac2’

CRS-2672: Attempting to start ‘ora.scan2.vip’ on ‘rac2’

CRS-2672: Attempting to start ‘ora.scan3.vip’ on ‘rac2’

CRS-2672: Attempting to start ‘ora.cvu’ on ‘rac2’

CRS-2672: Attempting to start ‘ora.rac1.vip’ on ‘rac2’

CRS-2676: Start of ‘ora.cvu’ on ‘rac2’ succeeded

CRS-2676: Start of ‘ora.rac1.vip’ on ‘rac2’ succeeded

CRS-2676: Start of ‘ora.scan2.vip’ on ‘rac2’ succeeded

CRS-2672: Attempting to start ‘ora.LISTENER_SCAN2.lsnr’ on ‘rac2’

CRS-2676: Start of ‘ora.scan3.vip’ on ‘rac2’ succeeded

CRS-2672: Attempting to start ‘ora.LISTENER_SCAN3.lsnr’ on ‘rac2’

CRS-2676: Start of ‘ora.LISTENER_SCAN2.lsnr’ on ‘rac2’ succeeded

CRS-2676: Start of ‘ora.qosmserver’ on ‘rac2’ succeeded

CRS-2676: Start of ‘ora.LISTENER_SCAN3.lsnr’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.ons’ on ‘rac1’

CRS-2677: Stop of ‘ora.ons’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.net1.network’ on ‘rac1’

CRS-2677: Stop of ‘ora.net1.network’ on ‘rac1’ succeeded

CRS-2792: Shutdown of Cluster Ready Services-managed resources on ‘rac1’ has completed

CRS-2677: Stop of ‘ora.crsd’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.asm’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.crf’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.mdnsd’ on ‘rac1’

CRS-2677: Stop of ‘ora.crf’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.mdnsd’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.asm’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip’ on ‘rac1’

CRS-2677: Stop of ‘ora.cluster_interconnect.haip’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.ctssd’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.evmd’ on ‘rac1’

CRS-2677: Stop of ‘ora.ctssd’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.evmd’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.cssd’ on ‘rac1’

CRS-2677: Stop of ‘ora.cssd’ on ‘rac1’ succeeded

CRS-2673: Attempting to stop ‘ora.gipcd’ on ‘rac1’

CRS-2673: Attempting to stop ‘ora.gpnpd’ on ‘rac1’

CRS-2677: Stop of ‘ora.gpnpd’ on ‘rac1’ succeeded

CRS-2677: Stop of ‘ora.gipcd’ on ‘rac1’ succeeded

CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘rac1’ has completed

CRS-4133: Oracle High Availability Services has been stopped.

[root@rac1 bin]# ssh rac2

Last login: Thu Sep 8 11:25:34 2022 from rac1.cao.local

[root@rac2 ~]# cd /u01/app/19C/grid/bin/

[root@rac2 bin]# ./crsctl stop crs

CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘rac2’

CRS-2673: Attempting to stop ‘ora.crsd’ on ‘rac2’

CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on server ‘rac2’

CRS-2673: Attempting to stop ‘ora.LISTENER_SCAN3.lsnr’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.cvu’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.LISTENER_SCAN2.lsnr’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.mgmtdb’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.qosmserver’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.chad’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.LISTENER_SCAN1.lsnr’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.rac1.vip’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.LISTENER.lsnr’ on ‘rac2’

CRS-2677: Stop of ‘ora.rac1.vip’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.LISTENER_SCAN3.lsnr’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.scan3.vip’ on ‘rac2’

CRS-2677: Stop of ‘ora.LISTENER_SCAN2.lsnr’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.scan2.vip’ on ‘rac2’

CRS-2677: Stop of ‘ora.LISTENER.lsnr’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.LISTENER_SCAN1.lsnr’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.scan1.vip’ on ‘rac2’

CRS-2677: Stop of ‘ora.scan3.vip’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.scan2.vip’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.scan1.vip’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.cvu’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.qosmserver’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.mgmtdb’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.MGMTLSNR’ on ‘rac2’

CRS-33673: Attempting to stop resource group ‘ora.asmgroup’ on server ‘rac2’

CRS-2673: Attempting to stop ‘ora.OCR_VOTE.dg’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.MGMT.dg’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.DATA.dg’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.FRA.dg’ on ‘rac2’

CRS-2677: Stop of ‘ora.OCR_VOTE.dg’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.FRA.dg’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.MGMT.dg’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.DATA.dg’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.asm’ on ‘rac2’

CRS-2677: Stop of ‘ora.asm’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.ASMNET1LSNR_ASM.lsnr’ on ‘rac2’

CRS-2677: Stop of ‘ora.ASMNET1LSNR_ASM.lsnr’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.asmnet1.asmnetwork’ on ‘rac2’

CRS-2677: Stop of ‘ora.asmnet1.asmnetwork’ on ‘rac2’ succeeded

CRS-33677: Stop of resource group ‘ora.asmgroup’ on server ‘rac2’ succeeded.

CRS-2677: Stop of ‘ora.MGMTLSNR’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.rac2.vip’ on ‘rac2’

CRS-2677: Stop of ‘ora.rac2.vip’ on ‘rac2’ succeeded

CRS-2675: Stop of ‘ora.chad’ on ‘rac2’ failed

CRS-2679: Attempting to clean ‘ora.chad’ on ‘rac2’

CRS-2681: Clean of ‘ora.chad’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.ons’ on ‘rac2’

CRS-2677: Stop of ‘ora.ons’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.net1.network’ on ‘rac2’

CRS-2677: Stop of ‘ora.net1.network’ on ‘rac2’ succeeded

CRS-2792: Shutdown of Cluster Ready Services-managed resources on ‘rac2’ has completed

CRS-2677: Stop of ‘ora.crsd’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.asm’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.crf’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.mdnsd’ on ‘rac2’

CRS-2677: Stop of ‘ora.crf’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.mdnsd’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.asm’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip’ on ‘rac2’

CRS-2677: Stop of ‘ora.cluster_interconnect.haip’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.ctssd’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.evmd’ on ‘rac2’

CRS-2677: Stop of ‘ora.ctssd’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.evmd’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.cssd’ on ‘rac2’

CRS-2677: Stop of ‘ora.cssd’ on ‘rac2’ succeeded

CRS-2673: Attempting to stop ‘ora.gipcd’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.gpnpd’ on ‘rac2’

CRS-2677: Stop of ‘ora.gpnpd’ on ‘rac2’ succeeded

CRS-2677: Stop of ‘ora.gipcd’ on ‘rac2’ succeeded

CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘rac2’ has completed

CRS-4133: Oracle High Availability Services has been stopped.

To start

[root@rac2 ~]# cd /u01/app/19C/grid/bin/

[root@rac2 bin]# ./srvctl start database –d racdb (your db name)

1 thought on “Step by Step Easy process to install Oracle 19c RAC 2Node Cluster”

Leave a Comment

Your email address will not be published. Required fields are marked *