Oracle 19c Standalone Database Installation Using ASM ( GRID Infrastructure ) COMPLETE GUIDE (step by step Implementation)

1. Introduction

This document provides a complete step-by-step guide for installing an Oracle 19c Standalone Database using Oracle ASM (Automatic Storage Management).
ASM is Oracle’s recommended storage management solution providing striped, mirrored, and highly optimized storage for Oracle databases.

This setup includes the installation of:

  • Oracle Grid Infrastructure (for ASM)
  • ASM Instance Configuration
  • Oracle Database 19c Software
  • Creation of a Container Database (CDB) and a Pluggable Database (PDB)

This architecture is commonly used for:

  • Production standalone DB servers
  • Physical standby databases
  • Test and development platforms


2. Environment Overview

Component

Value

OS

Oracle Linux 7.x / RHEL 7.x

Oracle Grid Version

19.0.0.0

Oracle Database Version

19.0.0.0

Server Type

Standalone

Storage

ASM (+DATA, +RECO)

DB Name

prod

CDB

Yes

PDB

prods

Memory

As per system

Oracle Home Path

/u01/app/oracle/product/19/db_1

GRID Home Path

/u01/app/19/grid



3. Prerequisites

3.1 Hardware Requirements

Standalone Server

  • Minimum RAM: 8 GB (Recommended: 16 GB+)
  • CPU: 2 vCPUs or more
  • OS Disk: 100 GB (for Oracle binaries + OS)
  • Network Adapters:
    • eth0 – Public Network
      Used for client connections, SSH, DB access, and future Data Guard configuration
    • Optional NAT / Secondary Interface (if using VM):
      Only for internet access to download packages

 

ASM Disk Storage (Local to Single Server)

Since this is a standalone database, no shared storage is required.
Only local disks are needed, but they must be visible to the Oracle user and configured for ASM.

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

A standalone server requires only one primary network interface, but the configuration should support future Data Guard setup.

Public Network (eth0)

Used for:

  • Client/database connections
  • SQL*Net communication
  • Future Data Guard redo transport

Example configuration:

  • Hostname:
    standby.localdomain
  • IP Address:
    192.168.18.18

(This IP will later be used as Data Guard Standby or standalone primary.)

Optional NAT Adapter (VM environments only)

Used only for:

  • Yum updates
  • Package installations
  • Internet access

This interface is not used by Oracle.


4. Download Required Oracle Software

For a standalone Oracle 19c database running on ASM, you must download the necessary Oracle software packages. These include the Oracle Grid Infrastructure (for ASM) and the Oracle Database 19c Home (DB Home). Both components are required even in a single-node setup, as Grid Infrastructure provides the ASM instance used for database storage management.

Required Software Packages

Download the following from the official Oracle website:

1.    Oracle Grid Infrastructure for Standalone Server (19c)
This package includes:

o   ASM (Automatic Storage Management)

o   Oracle Restart

o   Grid Infrastructure components needed to manage ASM disk groups

2.    Oracle Database 19c Software (Database Home)
This package includes the database binaries required to install:

o   The CDB (Container Database)

o   The PDB (Pluggable Database)

o   Associated Oracle utilities

  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 --------


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 Workstation 15.5.
You may continue using this same server to proceed with the Standalone ASM and Oracle 19c Database installation.

 

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 firewalld.service

# systemctl disable firewalld.service

 

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

 

User and Group Configuration for ASM (Using Only oracle User)

Since ASM and the Oracle Database will both run under the same oracle user, it is necessary to create the required ASM–related OS groups and assign the oracle user to them. These groups control administrative permissions for ASM and are mandatory for installing Grid Infrastructure on a standalone server.

Create ASM-Specific Groups

Run the following commands as root:

# groupadd -g 54327 asmdba

# groupadd -g 54328 asmoper

# groupadd -g 54329 asmadmin

 

Add Oracle User to All Required Groups

These groups provide permissions for database administration, ASM access, backup, and Data Guard operations.

# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmoper,asmadmin,racdba oracle

 

Verification

To confirm that the oracle user belongs to all necessary groups, run:

# id oracle

 

We’ll add 1 ethernet cards to our server, that’s why we shut down the server.

# shutdown -h now

 

Click "Edit virtual machine settings".






Click “Add”.

     

Select “Network Adapter” and click “Finish”.

     

Add 1 ethernet cards as “host-only”.

Boot the server.

Ethernet card is added to the server as “ens36” Click “connect”.

                  

Manage settings for “ens36”. This card will be used for “Used for client connections, SSH, DB access, and future Data Guard configuration”.

edit the file /etc/hosts.

# vi /etc/hosts

 

# shutdown -h now

 

Before attaching the ASM disks to the Linux server, create a dedicated folder on the Windows host system where all virtual disks will be stored.

               

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 adding these disks to the VM, shut down the standalone server once to ensure the OS properly detects the newly attached storage.


Once the server is started again, you can proceed with configuring these disks for ASM using oracleasm utility.

 

Click “Edit virtual machine settings”.






Click “Add” and then “Hard Disk”.

Select “NVME”.

Create a new virtual disk and continue.

 

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

 

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.

   


6. Configuring the Disks with Oracleasm

Check the disks you’ve added.

# ls -al /dev/nvme*

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

We will perform the partitioning using the fdisk command.

 

Partitioning nvme0n1 :

 

 

Partitioning nvme0n2 :

 

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.

# oracleasm configure -i



Check the parameters.

# oracleasm configure

# oracleasm init

 

# oracleasm createdisk OCRVD /dev/nvme0n1p1

# oracleasm createdisk DATA /dev/nvme0n2p1

# oracleasm createdisk RECO /dev/nvme0n3p1

# oracleasm scandisks

# oracleasm listdisks

 


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 standalone server only using WinSCP.

1.    Open WinSCP and connect to server 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

 

             # chmod 777 /u01/oraInstall/LINUX*

 

Switch to Oracle user and create profile files.

# su - oracle

$ vi .profile_grid

$ vi .profile_db

 

Upon creating the profiles, start chrony service on server.

# 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.

# rpm -Uvh cvuqdisk-1.0.10-1.rpm

 

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



 

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

$ ./gridSetup.sh

 

Start the installation by clicking “Configure Oracle Grid Infrastructure for a Standalone Server”.

 

 

 

 

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.

 

Choose the passwords. You can choose a different password, I’ll use the same.

Click “Next” since we won’t use EM Cloud Control.

 

Adjust the groups.

Check if the Oracle Base index is correct.

 

Click “Next”.

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.

It asks for permission to run the scripts automatically. Click “Yes” and allow it.

This is how installing Grid ends.

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
  • Listener resources
  • other cluster-managed services

If everything is configured properly, you will see resources running with status ONLINE, confirming that your Grid Infrastructure is functioning correctly.


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”.

Click “Single Instance database installation”.

 

Click “Enterprise Edition”.

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

Click “Next”.

Write the root password to run the scripts automatically.

Click “Install”.

Approve to run the scripts automatically.

Finish the software installation by clicking “Close”.

9. Installation Phase 3- Adding Disk Group with asmca

Creating the disk groups required for the Standalone 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.



 

As you see, we have one disk group which we created during grid installation.

 

 

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

 

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”.

 

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 database:

$ . .profile_db

$ dbca



 

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

 

Click “Create a database”.

Click “Advanced Configuration”.

Click “General Purpose or Transaction Processing” and click “Next”.

You need to name the database and adjust sid value. We chose both as ‘test’.  Click “Create as Container database” name PDB as ‘test-pdb’ and continue.

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

Enable “Archiving” and Select “FRA”.

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

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.

You may activate the “HR” schema if you wish. Click “Next”.

Continue because we won’t use cloud control.

Choose the passwords for “SYS” and “SYSTEM”.

Select “Create Database”.

Click “Finish” and start the installation.

Click “Close” and finish the installation.


11. Final Status Verification

 

12. Summary

In this deployment, a fully functional Standalone Oracle Database 19c environment utilizing Automatic Storage Management (ASM) was successfully installed and configured on Oracle Linux 7.9 hosted on VMware Workstation.

The following major components were completed:

  • Operating system preparation: Installed the oracle-database-preinstall-19c RPM to configure kernel parameters and users.
  • Storage configuration: Added dedicated hard disks for ASM storage.
  • Grid Infrastructure installation: Configured Oracle Grid Infrastructure for a Standalone Server (Oracle Restart) to manage the ASM instance and high-availability services.
  • ASM disk groups setup: Created the OCRVDDG disk group (and others as required) for database file storage.
  • Database Home installation: Installed the Oracle Database 19c software home on top of the Grid Infrastructure.
  • Standalone database creation: Configured a Single Instance Database (CDB + PDB) using ASM for all datafiles.
  • Environment setup: Configured the .oraenv profiles for seamless switching between the database and ASM instances.
  • Validation: Verified the health of ASM disk groups and database background processes to ensure system stability.

The system is now operational, utilizing Oracle Restart for automated service management, and is ready for standalone database workloads.