Oracle 19c RAC on

Google Cloud Platform

PART 2 - Oracle Database 19c Grid Infrastructure

If you are looking for a "quick and dirty" installation guide of Oracle® Database 19c and Oracle Real Application Cluster suitable for training, development and test purpose, this is the right place to start !

In this Article we'll go through pure Oracle installation tasks, creating our Oracle Database 19c Grid Infrastructure for a RAC instance on Google Cloud Platform Compute Engine VM

Please refer to previous article for instruction related to VM and CentOS 7 configuration for Oracle 19c RAC on Google Cloud Platform

Some considerations: please do not consider following instructions to implement your production environment, because if on the one hand you can for sure take advantage of the Google Cloud Free Tier offer (12-month free trial with $300 credit) to play around and test Oracle Database and RAC, but on the other hand it must be considered that Oracle Database seems not fully supported on GCP. That can be deduct from this official Oracle document (Licensing Oracle Software in the Cloud Computing Environment), where both Microsoft Azure and Amazon AWS are clearly listed, whereas there is no trace of Google Cloud Platform

Well, Let's start with part 2: Oracle Database 19c Grid Infrastructure

11) Configure Oracle ASM Disks added to Compute Engine VM during step 2 in previous article. Automatic Storage Management (ASM) simplifies storage and disk administration and reduces kernel resource usage (e.g. the number of open file descriptors), here you can find additional info.

As root identify the disks (be careful to chose those without partitions!)

# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 100G 0 disk └─sda1 8:1 0 100G 0 part /sdb 8:16 0 10G 0 disk sdc 8:32 0 30G 0 disk sdd 8:48 0 50G 0 disk

Configure and initialize oracle ASM

# oracleasm configure -i
Configuring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM librarydriver. The following questions will determine whether the driver isloaded on boot and what permissions it will have. The current valueswill be shown in brackets ('[]'). Hitting <ENTER> without typing ananswer will keep that current value. Ctrl-C will abort.Default user to own the driver interface []: gridDefault group to own the driver interface []: asmadmin Start Oracle ASM library driver on boot (y/n) [n]: yScan for Oracle ASM disks on boot (y/n) [y]:Writing Oracle ASM library driver configuration: done

# oracleasm init

Create new partitions


# fdisk /dev/sdb# fdisk /dev/sdc# fdisk /dev/sdd

Execute lsblk again to verify the new partitions and then create ASM disks for containing Data, Flash Recovery Area and Voting.

# oracleasm createdisk -v DATA1 /dev/sdb1 # oracleasm createdisk -v FRA1 /dev/sdc1 # oracleasm createdisk -v VOTING1 /dev/sdd1
# ls -l /dev/oracleasm/disks/brw-rw---- 1 grid asmadmin 8, 49 Jun 9 17:18 DATA1brw-rw---- 1 grid asmadmin 8, 33 Jun 9 17:18 FRA1brw-rw---- 1 grid asmadmin 8, 17 Jun 9 17:18 VOTING1


12) Oracle Grid Infrastructure and Oracle Database software download.

To complete this step you need an Oracle Account.

Go to https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html and download LINUX.X64_193000_grid_home.zip and LINUX.X64_193000_db_home.zip on server (eg. in Downloads directory via RDP)

As root execute following commands:

# cd /root/Downloads/ # mv LINUX.X64_193000_grid_home.zip /oracle/db/19.3.0/grid_home/# cd /oracle/db/19.3.0/grid_home# chown grid:oinstall LINUX.X64_193000_grid_home.zip

Continue with grid user and unzip the archive

# su - grid
# cd /oracle/grid/19.3.0/grid_home/# unzip LINUX.X64_193000_grid_home.zip


As root execute following commands:

# cd /root/Downloads/ # mv LINUX.X64_193000_db_home.zip /oracle/db/19.3.0/db_home/# cd /oracle/db/19.3.0/db_home# chown oracle:oinstall LINUX.X64_193000_db_home.zip

Continue with oracle user and unzip the archive

# su - grid
# cd /oracle/grid/19.3.0/db_home/# unzip LINUX.X64_193000_db_home.zip


13) Oracle Grid Infrastructure installation

connect via RDP to grid user in order to have a graphic interface to run Oracle installer programs

cd /$GRID_HOME/./gridSetup.sh

Please Select Standalone Cluster


Insert your cluster's name and SCAN IP alias defined at point 9 in previous article.

Please remember that best practices and production Oracle installation require to define 3 SCAN IPs, but for our experiment one ip will be enough to start the Clusterware services


Due to lack of capability of GCP to attach persistent disks to more than one VM, we should create our grid infrastructure with only one node for this exercise, but to familiarize yourself with the RAC commands that should be more than enough.

Please consider that the scope of this tutorial is go though RAC installation steps without needed of huge amount of hw and sw resources on your PC or local server.

On physical environment, at this point, we should had to specify second node name and setup ssh thrust interconnection between them.

Change eth1 usage and set for ASM and Private

Here we are managing storage via ASM because we already defined VOTING1 volume at point 11.

We don't chose GIMR for this exercise, also because that would require additional resources.

In order to see all candidate disks you have to change discovery path to:

/dev/oracleasm/disks/*

Here you can choose if define same password for ASM administration accounts or not

No IPMI for our environment

No EM Cloud Control

Select OS groups for ASM

Oracle base is selected from variable defined in .bach_profile (see point 8)

If you want to avoid the installation process pause ask you to execute as root the configuration scripts, please select the checkbox like in the screenshot.

Due to lack of resources of our VM some requirements could not be satisfied

Select "Fix & Check Again" and then Ignore All the remaining with "Fixable=No". Ignore the additional warning an continue to final step.

Let's finally install !


If you want to check status of your new CRS perform following command as root

# /oracle/grid/19.3.0/grid_home/bin/crsctl check cluster -all**************************************************************oracle-rac:CRS-4537: Cluster Ready Services is onlineCRS-4529: Cluster Synchronization Services is onlineCRS-4533: Event Manager is online**************************************************************

other useful command to check status of all clasterware services is :

/oracle/grid/19.3.0/grid_home/bin/crsctl stat res -t


Ok Folks! Hope this quick and dirty tutorial will help you to experience with Oracle 19c RAC architecture and commands on Google Cloud Platform. Stay tuned to our Tech News!

In next article we'll see how to install Oracle Database 19c

Let's have a cup of coffee before going on to Oracle 19c RAC on Google Cloud Platform PART 3 /// -->