0% found this document useful (0 votes)
10 views67 pages

Rac 19C Installation: Complete Guide

This document is a comprehensive guide for installing Oracle Database 19c RAC on a two-node Oracle Linux 7.9 environment using VMware Workstation. It covers prerequisites, environment setup, and detailed step-by-step instructions for configuring the operating system, networks, shared storage, and installing necessary software components. The guide is aimed at beginners and professionals looking to implement a fully functional Oracle RAC environment.

Uploaded by

venkateshbasic6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views67 pages

Rac 19C Installation: Complete Guide

This document is a comprehensive guide for installing Oracle Database 19c RAC on a two-node Oracle Linux 7.9 environment using VMware Workstation. It covers prerequisites, environment setup, and detailed step-by-step instructions for configuring the operating system, networks, shared storage, and installing necessary software components. The guide is aimed at beginners and professionals looking to implement a fully functional Oracle RAC environment.

Uploaded by

venkateshbasic6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

RAC 19c INSTALLATION

Complete Guide
(step-by step Implementation)

Prepared by : Mustafa Khan (Oracle DBA)


[Link]@[Link]
1. Introduction
Oracle Real Application Clusters (RAC) is an advanced database clustering technology that
allows multiple servers (nodes) to access and run a single shared Oracle database. By
enabling several nodes to operate together as one unified system, Oracle RAC provides high
availability, fault tolerance, scalability, and load balancing for mission-critical
environments.
In a RAC configuration, if one node fails, the remaining nodes continue to operate without
interrupting database services, ensuring continuous availability. As workloads increase,
additional nodes can also be added to scale the system horizontally, supporting growing
performance demands.
This document presents a complete, step-by-step guide for installing and configuring
Oracle Database 19c RAC on a two-node Oracle Linux 7.9 environment running on
VMwareWorkstation15.5.
It covers the entire setup process—from preparing the operating system, configuring
networks and shared storage, installing Grid Infrastructure, setting up ASM disk groups, and
finally creating the RAC database.
This guide is designed to be clear, practical, and easy to follow, making it suitable for
beginners, administrators, and professionals who want to learn or implement a fully
functional Oracle RAC 19c environment.

2. Environment Overview
2.1 Cluster Configuration
Component Details

Cluster Type Oracle Real Application Clusters (RAC)

Nodes 2-node RAC (node1 & node2)

Oracle Database Version 19.16 (Enterprise Edition)

Grid Infrastructure Version 19.16

Storage ASM (Automatic Storage Management)

Database Type Container Database (CDB) with PDB

PDB Name prods

Database Name prod

DB_UNIQUE_NAME PROD

1|Mustafa Khan
Component Details

ASM Disk Groups DATA, FRA, OCR

2.2 Node-1 Details


Parameter Value

Platform Oracle Enterprise Linux Server release 7.9

Server Name [Link]

Server IP [Link]

DB Version Oracle 19.16 – 2 Node RAC

File System +ASM1 (Automatic Storage Management)

ORACLE_SID prod1

Database Name prod

Multitenancy CDB with PDB: prods

DB_UNIQUE_NAME PROD

Oracle Home Path /u01/app/oracle/product/19/db_1

GRID Home Path /u01/app/19/grid

2.3 Node-2 Details


Parameter Value

Platform Oracle Enterprise Linux Server release 7.9

Server Name [Link]

Server IP [Link]

DB Version Oracle 19.16 – 2 Node RAC

File System +ASM2 (Automatic Storage Management)

ORACLE_SID prod2

Database Name prod

2|Mustafa Khan
Parameter Value

Multitenancy CDB with PDB: prods

DB_UNIQUE_NAME PROD

Oracle Home Path /u01/app/oracle/product/19/db_1

GRID Home Path /u01/app/19/grid

3. Prerequisites
3.1 Hardware Requirements
Server Nodes (Each Node)
• Minimum 8 GB RAM (Recommended: 16 GB+)
• 2 vCPUs or more
• 100 GB OS disk
• 2 Network Adapters:
o Public Network – Client access
o Private Network – Interconnect (cluster heartbeat)
Shared Storage (Visible to Both Nodes)
Disk Purpose Size Redundancy

OCR + Voting Disk 10–20 GB External redundancy

DATA 50–100 GB External redundancy

FRA 20–40 GB External redundancy

3.2 Network Requirements


Each node must have:
Public Network (eth0):
• Public hostname
• Public IP
Example:
• Node1: [Link] ([Link])
3|Mustafa Khan
• Node2: [Link] ([Link])

Private Interconnect (eth1):


For RAC heartbeats
Example:
• Node1: [Link] ([Link])
• Node2: [Link] ([Link])

Virtual IPs (VIPs):


Required for failover
• Node1 VIP: [Link] ([Link])
• Node2 VIP: [Link] ([Link])

SCAN IPs:
3 SCAN IPs (recommended)
Example:
• scan1: [Link]
• scan2: [Link]
• scan3: [Link]
SCAN must resolve via DNS.

4. Download Required Oracle Software


You may download all the required Oracle software—Grid Infrastructure and Oracle
Database Home (DB Home)—from the provided link. These installation files contain the
essential components needed to configure Oracle Clusterware, ASM (Automatic Storage
Management), and the Oracle Database software required for setting up the 19c RAC
environment. Ensure that you download the correct versions for Linux and verify file
integrity before starting the installation process.
Link :- Oracle Database 19c Download for Linux x86-64 | Oracle Türkiye
-------- Download the two ZIP files shown in the picture by clicking the link above --------

4|Mustafa Khan
Installation has 6 phases:
• Installing the Operating System and Preparing the Servers
• Configuring the Disks with Oracleasm
• Installation Phase 1- Installing Grid
• Installation Phase 2- Installing Oracle Software
• Installation Phase 3- Adding Disk Group with asmca
• Installation Phase 4- Creating Database with DBCA

5. Installing the Operating System and Preparing the Servers


The operating system Oracle Linux 7.9 has been installed on VMware 15.5. You may
continue using the server on which this OS has been installed to proceed with the RAC
setup.

5|Mustafa Khan
Upon booting the server, update the operating system and download the packages needed in
the installation.

# yum -y update

# yum install -y oracle-database-preinstall-19c.x86_64

# yum install -y oracleasm-support

# yum install -y dnsmasq*

Change the hostname :

# vi /etc/hostname

Disable "Secure Linux" :


# vi /etc/selinux/config

SELINUX=disabled

Stop and disable “Firewall” service :


# systemctl stop [Link]

# systemctl disable [Link]

6|Mustafa Khan
Create the folder indexes. To move the files needed in the installation, I create an index
named “/u01/oraInstall”. If you wish, you can move installation files somewhere else.
# mkdir -p /u01/app/19/grid

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

# mkdir -p /u01/oraInstall

# chown -R oracle:oinstall /u01

# chmod -R 775 /u01

Change the password of the Oracle user.


# passwd oracle

We’ll add 2 ethernet cards to our server, that’s why we shut down the server.
# shutdown -h now

7|Mustafa Khan
Click "Edit virtual machine settings".

Click “Add”.

8|Mustafa Khan
Select “Network Adapter” and click “Finish”.

Add 2 ethernet cards in the same way too and adjust both as “host-only”.

Boot the server.


9|Mustafa Khan
Ethernet cards are added to the server as “ens36” and “ens37”. Click “connect” for both of
them.

Manage settings for “ens37”. This card will be used for “public network”.

10 | M u s t a f a K h a n
Manage settings for “ens38”. This card will be used for “private network”.

11 | M u s t a f a K h a n
edit the file /etc/hosts.
# vi /etc/hosts

Reboot the server.


# reboot

Since we’ll set up a small scaled system or a test environment, we’ll use “dnsmasq” for the
name resolution service. First, enable “dnsmasq” service in order to boot the service
automatically when the server is rebooted.
# systemctl enable dnsmasq
Then, add the line below to the end of the file /etc/[Link].
# vi /etc/[Link]

local=/localdomain/

In the servers which will do name resolution, enter the server address where you’ve
configured “dnsmasq” to the /etc/[Link] file.

12 | M u s t a f a K h a n
Since we’ve configured “dnsmasq” on the Node 1, edit and lock the file as in the picture.
# chattr +i /etc/[Link]
Reboot the server.
# reboot
Check the resolution of scan IPs.
# nslookup rac-scan

# shutdown -h now

Network configuration is done for the first server and by cloning the first, we’ll create the
second server. Then, we’ll add the disks that can be seen jointly by the servers. I’ve created
a folder named “ORACLE SHARED FOLDER” in the index where virtual machines are
installed, I’ll create the disks here. You may create them wherever you want. I introduce the
folder I’ve created as the way the first server can see it.

13 | M u s t a f a K h a n
Click “Next” and continue.

Select the index where you’ve created the folder.

14 | M u s t a f a K h a n
Select “Enable this share”.

You’ve created the folder. Now, clone the machine you’ve configured.

15 | M u s t a f a K h a n
16 | M u s t a f a K h a n
17 | M u s t a f a K h a n
Upon cloning, boot the server and change the hostname.
# vi /etc/hostname

Edit IP addresses of the server.


Manage the settings for "ens36".

18 | M u s t a f a K h a n
Manage the settings for “ens37”.

Reboot the server.


# reboot
Check if the second server too does name resolution.
# nslookup rac-scan

Check the communication between the servers.


In the 1st server:
# ping node2

# ping node2-priv

19 | M u s t a f a K h a n
In the 2nd server:
# ping node1

# ping node1-priv

Add the disks that are shared and visible to both servers to the folder you created earlier.
Since we will create three ASM disk groups, add the following disks:
• 20 GB disk for OCR + Voting (OCRVD)
• 30 GB disk for DATA
• 20 GB disk for FRA (RECO)
After attaching the disks, shut down both servers before proceeding with the RAC
installation.
Shut down both servers.
# shutdown -h now

Click “Edit virtual machine settings”.

20 | M u s t a f a K h a n
Click “Add” and then “Hard Disk”.

Select “NVME”.

21 | M u s t a f a K h a n
Create a new virtual disk and continue.

Click “Allocate all disk space now” and “Next”.

22 | M u s t a f a K h a n
I create the first disk named “OCRVD” in the folder I’ve created before.

We’ve created the first disk, let’s add two more disk named “DATA” & “RECO” in that
index in the same way.

We’ve added the disks for the first server. Add those disks for the Second server too. Click
“Edit virtual machine settings”.

23 | M u s t a f a K h a n
Upon clicking “Add”, select “Hard Disk”.

Select “NVME”.

24 | M u s t a f a K h a n
Click “Use an existing virtual disk”.

Choose the disk you’ve added before and continue by clicking “Finish”.

Do the same for the other disks too.

25 | M u s t a f a K h a n
In RAC, both servers should be able to write disks. When you boot one of the servers,
VMware will automatically lock the disks you’ve added and prevent the other server from
booting. To refrain from that situation, you need to make some arrangements in the index
where virtual servers are in.
Open the files “[Link]” and “[Link]” with notepad++ in the
index where virtual servers are installed and add the lines below to the end.

[Link] = "FALSE"

[Link] = "0"

[Link] = "TRUE"

[Link] = "8000"

6. Configuring the Disks with Oracleasm


Check the disks you’ve added.
# ls -al /dev/nvme*

The disks “nvme0n1”, “nvme0n2”, and “nvme0n3” are the shared virtual disks that we
attached earlier for RAC storage. These disks will be used to create the ASM disk groups
(OCR/Voting, DATA, and FRA). Before they can be used by ASM, we must create partitions
on them.

We will perform the partitioning using the fdisk command, and this step needs to be done
only on the first server. After partitioning on node1, the updated disk labels will
automatically be visible on node2 because the disks are shared between both nodes.

26 | M u s t a f a K h a n
Partitioning nvme0n1 :

Partitioning nvme0n2 :

27 | M u s t a f a K h a n
Partitioning nvme0n3 :

You see the partitions created as “nvme0n1p1”, “nvme0n2p1”, and “nvme0n3p1”


# ls -al /dev/nvme*

Next, configure the Oracle ASM Library (ASMLib), which provides a consistent and
reliable interface for managing disks used by Oracle Automatic Storage Management. After
configuring ASMLib, the shared disks must be stamped or marked so Oracle can recognize
them as ASM-compatible devices.

Stamping the disks assigns them unique ASM labels, allowing Grid Infrastructure to identify
and use them correctly when creating the OCR/Voting, DATA, and FRA disk groups.
Configure Oracleasm.
1st Server (node 1) :
# oracleasm configure -i

28 | M u s t a f a K h a n
Check the parameters.
# oracleasm configure

# oracleasm init

# oracleasm createdisk OCRVD /dev/nvme0n1p1

# oracleasm createdisk DATA /dev/nvme0n2p1

# oracleasm createdisk RECO /dev/nvme0n3p1

29 | M u s t a f a K h a n
# oracleasm scandisks

# oracleasm listdisks

2nd Server (node 2) :


# oracleasm configure -i

# oracleasm init

# oracleasm scandisks

# oracleasm listdisks

30 | M u s t a f a K h a n
Transfer Installation Files to the Linux Server
After downloading the required Oracle installation files in Step 4 (Grid Infrastructure and
Oracle Database Home), transfer them from your Windows machine to Node 1 only using
WinSCP.
1. Open WinSCP and connect to Node 1 using the oracle user.
2. Navigate to the desired folder on the Linux server (example: /u01/oraInstall or any
folder you created for installation files).
3. Upload the downloaded zip files:

• Grid Infrastructure installation file

• Oracle Database Home installation file

There is no need to copy the files to Node 2.

Since this is a RAC installation, the setup process will automatically copy the required components from
Node 1 to Node 2 during Grid and Database installation.

This ensures that only one node holds the installation media while the RAC installer handles the distribution
across the cluster.

# chmod 777 /u01/oraInstall/LINUX*

31 | M u s t a f a K h a n
Switch to Oracle user and create profile files.
1st Server:
# su - oracle

$ vi .profile_grid

$ vi .profile_db

2nd Server:
# su - oracle

$ vi .profile_grid

$ vi .profile_db

32 | M u s t a f a K h a n
Upon creating the profiles, start chrony service on both servers.
# systemctl enable chronyd

# systemctl restart chronyd

7. Installation Phase 1- Installing Grid


Unzip with the Oracle user.
$ unzip LINUX.X64_193000_grid_home.zip -d /u01/app/19/grid/

After unzip is Done. Install “cvuqdisk” with root user. (on both servers)
# rpm -Uvh [Link]

Since we unzipped in the first server, “cvuqdisk rpm” isn’t in the second server. That’s why
we send it with scp and install.
# scp [Link] root@node2:/tmp

33 | M u s t a f a K h a n
Go to index /tmp in the 2nd server and install.
# cd /tmp

# rpm -Uvh [Link]

Before starting the installation, enable the GUI by setting export DISPLAY=:0 and allow
root access with xhost +.

On the first server, reboot the system before beginning. Log in as the Oracle user, set up the
Grid environment by sourcing the profile script, and then start the installation.
$ . .profile_grid

$ cd /u01/app/19/grid

$ ./[Link]

34 | M u s t a f a K h a n
Start the installation by clicking “Configure Oracle Grid Infrastructure for a New
Cluster”.

Click “Configure an Oracle Standalone Cluster”.

35 | M u s t a f a K h a n
Choose names for Cluster and Scan. Cluster name shouldn’t be longer than 15 characters,
otherwise you encounter fault during installation. ([Link] step 16)

Add the information of the 2nd server.

36 | M u s t a f a K h a n
click “Setup”. Test SSH connectivity.

37 | M u s t a f a K h a n
Define the network configuration. I’ve told you before that we’ll use public network for
“ens36” and private network for “ens37”.

Click “Use Oracle Flex ASM for storage”.

38 | M u s t a f a K h a n
Click “No”.

Choose the index, where you’ve defined the disks, with Change Discovery Path. Make the
Disk Group Name OCRVD. Select External in Redundancy.
High Redundancy: Data is stored with 3 different copies. No data loss even 2 groups crash.
Normal Redundancy: Data is stored with 2 different copies. No data loss even the other
group crashes.
External Redundancy: Data is stored with only a copy. It’s better if you store systems in
normal redundancy disk groups.

39 | M u s t a f a K h a n
Choose the passwords. You can choose a different password, I’ll use the same.

Click “Do not use Intelligent Platform Management Interface (IPMI)”.

40 | M u s t a f a K h a n
Click “Next” since we won’t use EM Cloud Control.

Adjust the groups.

41 | M u s t a f a K h a n
Check if the Oracle Base index is correct.

Click “Next”.

42 | M u s t a f a K h a n
I suggest running the scripts manually but since this is a test environment, we’ll run them
automatically.

No problem seen in pre-check.


Click “Install” and start the installation.

43 | M u s t a f a K h a n
It asks for permission to run the scripts automatically. Click “Yes” and allow it.

This is how installing Grid ends.


44 | M u s t a f a K h a n
Next, verify the Grid Infrastructure status by running:
$ crsctl stat res -t
This command displays the Clusterware resource status in a tree format. It shows the state
of essential cluster components such as:
• Cluster Synchronization Services (CSS)
• Cluster Ready Services (CRS)
• ASM instance
• Network, SCAN, and Listener resources
• VIPs and other cluster-managed services
If everything is configured properly, you will see resources running on both nodes with
status ONLINE, confirming that your Grid Infrastructure is functioning correctly.

45 | M u s t a f a K h a n
8. Installation Phase 2- Installing Oracle Software
Unzip with the Oracle user.
$ unzip LINUX.X64_193000_db_home.zip -d
/u01/app/oracle/product/19/db_1

After unzip is Done . set up the db environment by sourcing the profile script, and then start
the installation.
$ . .profile_db

$ cd /u01/app/oracle/product/19/db_1

$ ./runInstaller

Click “Software only”.

46 | M u s t a f a K h a n
Click “Oracle Real Application Clusters database installation”.

Be sure that both servers are selected and click “Next”.

47 | M u s t a f a K h a n
Click “Enterprise Edition”.

Be sure that software location is the “/u01/app/oracle/product/19/db_1” index.

48 | M u s t a f a K h a n
Click “Next”.

Write the root password to run the scripts automatically.

49 | M u s t a f a K h a n
Click “Install”.

Approve to run the scripts automatically.

50 | M u s t a f a K h a n
Finish the software installation by clicking “Close”.

9. Installation Phase 3- Adding Disk Group with asmca


creating the disk groups required for the RAC database, we will use the ASM
Configuration Assistant (asmca) tool. This utility allows us to graphically create and
manage ASM disk groups such as DATA and FRA.
Before launching asmca, ensure that the correct Grid Infrastructure environment is loaded.
To do this, log in as the oracle user and source the .profile_grid file:

$ . .profile_grid

$ asmca

Once the environment is set, you will be ready to start asmca to create the ASM disk
groups that will store the database files.

51 | M u s t a f a K h a n
As you see, we have one disk group which we created during grid installation.

Right click “Disk Groups” and click “Create”.

52 | M u s t a f a K h a n
I name the disk group as “DATA” & “RECO” where we’ll create the database. You can
name it however you want. Add the disk you’ve configured with Oracleasm before. Click
“OK”.

53 | M u s t a f a K h a n
We’ve created the disk group. You can view disk groups as in the picture. Click “Exit” and
leave the asmca tool.

10. Installation Phase IV- Creating Database with DBCA


you must load the Database Home environment using the .profile_db file. Once the
database environment variables are active, you can start the Database Configuration
Assistant (DBCA) to create the RAC database:

$ . .profile_db

$ dbca

The DBCA tool will guide you through the graphical interface to configure a two-node
RAC database, including selecting the database name, storage options (ASM), character
set, memory settings, and pluggable database (PDB) configuration.

54 | M u s t a f a K h a n
Click “Create a database”.

Click “Advanced Configuration”.

55 | M u s t a f a K h a n
Click “General Purpose or Transaction Processing” and click “Next”.

Be sure that servers are selected and click “Next”.

56 | M u s t a f a K h a n
You need to name the database and adjust sid value. We chose both as ‘prod’. Click “Create
as Container database” name PDB as ‘prods’ and continue.

Select “+DATA” which is a disk group we’ve added.

57 | M u s t a f a K h a n
Enable “Archiving” and Select “FRA”.

Since we’ll not use “DB Vault” and “Label Security”, click “Next”.

58 | M u s t a f a K h a n
We’ll continue by using ASSM, if you wish you can use something else in accordance with
your system. What’s important is that, the value shouldn’t exceed two third of the physical
RAM value of the server.

59 | M u s t a f a K h a n
60 | M u s t a f a K h a n
You may activate the “HR” schema if you wish. Click “Next”.

Continue because we won’t use cloud control.

61 | M u s t a f a K h a n
Choose the passwords for “SYS” and “SYSTEM”.

Select “Create Database”.

62 | M u s t a f a K h a n
Click “Finish” and start the installation.

Click “Close” and finish the installation.

63 | M u s t a f a K h a n
11. Final Status Verification

64 | M u s t a f a K h a n
65 | M u s t a f a K h a n
12. Summary
In this deployment, a fully functional two-node Oracle Database 19c RAC environment
was successfully installed and configured on Oracle Linux 7.9 hosted on VMware
Workstation 15.5.
All major components were completed:
• Operating system installation and preparation
• Network configuration (Public, Private, VIP, SCAN)
• Shared storage creation and ASM disk groups setup
• Grid Infrastructure installation
• Database Home installation
• RAC database creation (CDB + PDB)
• Environment profile setup
• Validation and post-installation checks
The system is now operational, highly available, and ready for RAC workload testing or
application deployment.

66 | M u s t a f a K h a n

You might also like