DEV Community

Marcelo Costa
Marcelo Costa

Posted on • Edited on

9 2

Quickly set up an Oracle environment on GCP

This quick-start guide is part of a series that shows how to set up databases on Google Cloud Platform, for developing and testing purposes.

This guide will show you how to create an Oracle environment running inside your Google Cloud Project.

Create a Compute Engine VM

Using Cloud Shell:

# Create the Oracle GCE instance
gcloud compute instances create oracle \
  --zone=us-central1-c \
  --machine-type=n1-standard-1 \
  --image-project=rhel-cloud --boot-disk-size=20GB \
  --image=rhel-7-v20190618 \
  --boot-disk-type=pd-standard \
  --boot-disk-device-name=oracle \
  --scopes=cloud-platform
Enter fullscreen mode Exit fullscreen mode

Note: The oracle express edition has a free license for demonstrating and testing purposes, but the user needs to accept it, so you must download the binary at: https://www.oracle.com/database/technologies/appdev/xe/quickstart.html
Click on the link for Oracle Linux: Download oracle-database-xe-18c-1.0–1.x86_64.rpm

Configure your VM with Oracle

Using Cloud Shell:

# Connect to the Oracle VM
gcloud compute ssh --zone=us-central1-c oracle

# Copy the oracle binary, and use the binary that you downloaded at 
# this step, change it to your bucket, you can also upload it        
# manually using cloud shell
gsutil cp gs://oracle_xe_binaries/oracle-database-xe-18c-1.0-1.x86_64.rpm .

# Get the oracle pre install binary
curl -o oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

# Install required binary
sudo yum -y localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

# Install oracle
sudo rpm -ivh oracle-database-xe-18c-1.0-1.x86_64.rpm

# Create initial config
sudo /etc/init.d/oracle-xe-18c configure

# You will be prompted with the message: Specify a password to be   
# used for database accounts.

# Choose your password and save it
# Wait for the message: 
# Connect to Oracle Database using one of the connect strings
Enter fullscreen mode Exit fullscreen mode

Load your Oracle database with data

Using Cloud Shell:

# Connect to the Oracle VM
gcloud compute ssh --zone=us-central1-c oracle

# Set up Oracle environment
export ORACLE_SID=XE 
export ORAENV_ASK=NO 
. /opt/oracle/product/18c/dbhomeXE/bin/oraenv

# You should receive the message: The Oracle base has been set to   
# /opt/oracle/product/18c/dbhomeXE

# Install git, press y when prompted
sudo yum install git

# Go to your home directory
cd ~

# Clone schema Repo
git clone https://github.com/oracle/db-sample-schemas.git

# Go to customers schema directory
cd ~/db-sample-schemas/customer_orders

# Start the Oracle sqlplus Session, change to your password
sqlplus system/YOURPASS@oracle/XEPDB1

# Run create schema and populate procedures
@co_main copw oracle/XEPDB1 users temp

# You should be presented with some query results, look for the     
# value: 433 rows selected
# Quit sqlplus
quit
Enter fullscreen mode Exit fullscreen mode

Connect to the Oracle instance using a client

Set Oracle client for Linux (Cloud Shell)

Download the zip file and send to your gcs bucket
https://oracle.github.io/odpi/doc/installation.html#linux

# Get the zip from your bucket
gsutil cp gs://oracle_xe_binaries/instantclient-basic-linux.x64-19.5.0.0.0dbru.zip .

# Unzip it
unzip instantclient-basic-linux.x64-19.5.0.0.0dbru.zip

# Set Oracle library ENV Var on the unzip dir
export LD_LIBRARY_PATH=/oracleclient/bin/instantclient_19_5
Enter fullscreen mode Exit fullscreen mode

Set Oracle client for Mac

Download the zip file and send to your gcs bucket
https://oracle.github.io/odpi/doc/installation.html#macos

# Get the zip from your bucket
gsutil cp gs://oracle_xe_binaries/instantclient-basic-macos.x64-19.3.0.0.0dbru.zip .

# Unzip it
unzip instantclient-basic-macos.x64-19.3.0.0.0dbru.zip

# Set Oracle library ENV Var on the unzip dir
export LD_LIBRARY_PATH=/oracleclient/bin/instantclient_19_3
Enter fullscreen mode Exit fullscreen mode

Booting the Compute Engine VM gracefully

# Start the Compute Engine VM
gcloud compute instances start oracle --zone=us-central1-c

# Connect to the Oracle VM
gcloud compute ssh --zone=us-central1-c oracle

# Start the oracle listener
sudo /etc/init.d/oracle-xe-18c start

# Wait for the message: Oracle Database instance XE started.
Enter fullscreen mode Exit fullscreen mode

And that's it!

Be careful, you pay Red Hat Entreprise Linux (rhel) licence every day that the VM run (about $0.55 every day). Of course, in addition of the GCP VM cost.

If you have difficulties, don’t hesitate reaching out. I would love to help you!

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (1)

Collapse
 
mpatelp profile image
Mit

how do you license Oracle DB on GCP?

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

AWS GenAI Live!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️