Oracle 19c RAC on

Google Cloud Platform

PART 3 - Oracle Database 19c

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 continue our Real Application Cluster setup on Google Cloud Platform, installing Oracle Database 19c on Grid platform configured in previous article.

Please refer to previous articles 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 (3-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 3: Oracle Database 19c installation

14) ASM Disks group configuration: after Grid Infrastructure setup and before Database installation we are going to create new ASM disks groups with ASM Configuration Assistant. Connect via RDP to grid user in order to have a graphic interface to run asmca program.

# asmca

Create new DATA disk group selecting DATA1 disk created at point 11

Create new FRA (Flash recovery Area) disk group selecting FRA1 disk created at point 11

Here we have OCR_VOTING Disk group for Grid Infrastructure management and new groups just created.

15) Oracle Database 19c software only installation.

Connect via RDP to oracle user in order to have a graphic interface to run runInstaller.sh.


# cd /$ORACLE_HOME/# ./runInstaller.sh



Oracle base directory is selected from .bash_profile of oracle user

Here leave default groups defined before at point 8


Ignore all failed checks and press next button


Now we installed database software we move to database configuration

16) Oracle Database creation with Database Configuration Assistant

Connect via RDP to oracle user in order to have a graphic interface to run dbca from a terminal.


# dbca


Select RAC and Admin Managed as type of database. For our example we chose OLTP or general purpose template.

Due to lack of capability of GCP to attach persistent disks to more than one VM, we should create 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.


Set database name and SID. If you like, here you can ask installer to create the database as Container and create first Pluggable Database for you. In order to have faster installation we preferred to avoid that.



Here we have to select which ASM disk group will be used for datafiles and their related name structure.


Select disk group for Flash Recovery Area and enable archive log if you're going to do some experience on RMAN (Recovery Manager).




Here we suggest to keep Automatic Shared Management selected, at least at your first installation try.


Select run Cluster Verification Utility to validate configuration.


Here we define same password for all administrative accounts




Ignore all failed checks and proceed. In this test scenario some requirements could not satisfied due to less sw and hw resources. That's not of course the case in production environment. Please ignore also consequent warning pop-up window.


Just last summary review before start installation process.




Here we go! Our brand new Oracle 19c node is ready.

Now you can check status of your architecture with following commands:


# su - oracle# srvctl status database -d ora19cInstance ORA19C1 is running on node oracle-rac


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


Check listener


# su - oracle# lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-JUN-2020 21:08:15
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 19.0.0.0.0 - ProductionStart Date 15-JUN-2020 20:52:05Uptime 0 days 0 hr. 16 min. 9 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /oracle/grid/19.3.0/grid_home/network/admin/listener.oraListener Log File /oracle/grid/gridbase/diag/tnslsnr/oracle-rac/listener/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.142.0.4)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.142.0.5)(PORT=1521)))Services Summary...Service "+ASM" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service...Service "+ASM_DATA" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service...Service "+ASM_FRA" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service...Service "+ASM_OCR_VOTING" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service...Service "ORA19C" has 1 instance(s). Instance "ORA19C1", status READY, has 1 handler(s) for this service...Service "ORA19CXDB" has 1 instance(s). Instance "ORA19C1", status READY, has 1 handler(s) for this service...The command completed successfully


Check CRS overall status

# su - grid# crsctl stat res -t--------------------------------------------------------------------------------Name Target State Server State details --------------------------------------------------------------------------------Local Resources--------------------------------------------------------------------------------ora.LISTENER.lsnr ONLINE ONLINE oracle-rac STABLEora.chad OFFLINE OFFLINE oracle-rac STABLEora.net1.network ONLINE ONLINE oracle-rac STABLEora.ons ONLINE ONLINE oracle-rac STABLE--------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup) 1 ONLINE ONLINE oracle-rac STABLE 2 ONLINE OFFLINE STABLE 3 ONLINE OFFLINE STABLEora.DATA.dg(ora.asmgroup) 1 ONLINE ONLINE oracle-rac STABLE 2 OFFLINE OFFLINE STABLE 3 OFFLINE OFFLINE STABLEora.FRA.dg(ora.asmgroup) 1 ONLINE ONLINE oracle-rac STABLE 2 OFFLINE OFFLINE STABLE 3 OFFLINE OFFLINE STABLEora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE oracle-rac STABLEora.OCR_VOTING.dg(ora.asmgroup) 1 ONLINE ONLINE oracle-rac STABLE 2 OFFLINE OFFLINE STABLE 3 OFFLINE OFFLINE STABLEora.asm(ora.asmgroup) 1 ONLINE ONLINE oracle-rac Started,STABLE 2 OFFLINE OFFLINE STABLE 3 OFFLINE OFFLINE STABLEora.asmnet1.asmnetwork(ora.asmgroup) 1 ONLINE ONLINE oracle-rac STABLE 2 OFFLINE OFFLINE STABLE 3 OFFLINE OFFLINE STABLEora.cvu 1 OFFLINE OFFLINE STABLEora.ora19c.db 1 ONLINE ONLINE oracle-rac Open,HOME=/oracle/db /19.3.0/db_home,STAB LEora.oracle-rac.vip 1 ONLINE ONLINE oracle-rac STABLEora.qosmserver 1 OFFLINE OFFLINE STABLEora.scan1.vip 1 ONLINE ONLINE oracle-rac STABLE--------------------------------------------------------------------------------


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!