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
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
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
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
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
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.
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!
Top comments (1)
how do you license Oracle DB on GCP?