Automated Oracle Database Refresh with Workato

This article looks at how you can refresh multiple Oracle databases using Workato and Slack and includes a demo video of the process.

Automated Oracle Database Refresh with Workato

Summary

Workato is a process automation and data orchestration platform that can be used to orchestrate the refresh of multiple test Oracle databases.

image_pdfimage_print

This article originally appeared on Ron Ekins’ blog. It has been republished with the author’s credit and consent. 

I recently had the opportunity to spend some time learning all about the Workato orchestration platform. After completing the Workato training paths and certifications, I decided it was time to take my newfound knowledge out for a spin.

In the short video at the end of this post, I’ll demonstrate how a Workato recipe can be used to orchestrate the refresh of multiple test Oracle databases by calling an Ansible playbook, utilising Oracle scripts and Pure Storage REST APIs, all from a Slack prompt.

What Is Workato?

Workato is an enterprise low-code/no-code process automation and data orchestration platform. Workato provides many out-of-the-box connectors for commonly used on-premises and SaaS solutions, including Slack, which I’ll be using here.

In my lab, I have a number of test Oracle databases running on multiple VMs, all using Pure Storage FlashArray™ block volumes. For this demo, each database has its own dedicated Oracle Home ( /u01 )and filesystems for data, redo and archive /u02 and /u03

Modern Hybrid Cloud Solutions

Oracle Database Automation

In the video below, a Slack Workbot triggers a refresh of my six test Oracle databases when it sees an “Oracle refresh database” request. 

The Workbot prompts for an Oracle database name and then initiates the database refresh, calling my Ansible ORCA playbook. The playbook performs the following steps:

  1. Rename of datafile and OS file systems
  2. Dynamic creation of scripts and required Oracle directories
  3. Shutdown of target database(s)
  4. Unmount of database filesystems
  5. FlashArray protection group snapshot of source volumes and overwrite of target volumes using REST APIs
  6. Remount of database filesystems
  7. Startup of target database(s)
  8. Rename of database(s) using Oracle DBNEWID (NID)