Around the Storage Block

Using the HPE 3PAR Ansible Module with Oracle Database

The HPE 3PAR storage array product provides many tools at our developer website . Tools and plugins are available for Chef, Puppet, Docker and Ansible. This blog will be giving you some familiarity on the Ansible Modules and how they can be used with an Oracle database deployment.

By going to the developer website and choosing the 3PAR platform and then choosing Ansible, it will take you to the hpe3par_ansible_module GitHub page. The GitHub page has the modules, playbooks, README and other needed configuration files. If you are not familiar with Ansible then visit this link first to get started and get Ansible installed on a system.  Getting started with Ansible

After becoming familiar with Ansible then go to the HPE developer site and download the Ansible modules from the GitHub page. For a complete blog describing Ansible for 3par written by one of our automation engineers, refer to the link Storage Provisioning using Ansible with HPE 3PAR Storage .

What can we do with Oracle database and the hpe3par Ansible modules?Figure 1Figure 1


There are several functions that apply to Oracle deployments. Features such as thin provisioning, compression, RAID levels are common to manage. Making full copies and snapshots of volumes are very common functions, especially in dev test environments.

Flash Cache

If your storage array is a hybrid of spinning disk and SSDs then flash cache can be used to potentially reduce latency times on small block reads on the Oracle workload (i.e. db file sequential read wait times). If the 3PAR array cache utilization is upwards of 70% then flash cache could be of benefit.


Snapshots or also called Virtual volumes can be used for backup of data in short increments of time (e.g. every 10 minutes) or a snapshot can be created with read/write properties and then mounted on a test/development or QA server to make use of a database for test purposes.

Data Reduction

The data reduction related modules are available as part of the hpe3par volume module. This include but are not limited to:

  • Thin Provisioning – the ability to provision space but only use it when its needed
  • Compression – compressing data on volume sets. Compression ratios of 2:1 have been measured.

Manage Volumes – Provisioning of volumes and volume sets, vluns, RAID levels, etc.

Storage Replication – Replication of data synchronously or asynchronously. Create, delete, start, stop remote copy groups plus more.


Below in Table 1 there is a list of examples available. For a full list refer to the hpe3par_ansible_module GitHub content.Table 1Table 1


An example of creating a DevOps test system using a VM and a snapshot of a database using the HPE 3PAR Ansible Modules


The video demo in this blog provides a simple example of how time can be saved through creating a DevOps test database system using the 3PAR Ansible Modules. Figure 1 below shows the manual process of creating a test server. There are many ways to implement a test server. This is just an example to demonstrate what can be done with the 3PAR Ansible Modules and a preconfigured golden image VM.

In Figure 1, there are several configuration items that need to be done along with installing Oracle, creating snapshots, provisioning the snapshot, scanning the volumes and mounting. The estimated time for one admin to create one system is around 45 minutes. This of course could vary in the implementation, but for purposes of comparison, we will you a total time of 45 minutes per system.pic3.png


Now if we take a VM and preconfigure the Oracle binaries, OS and Oracle dependencies on to an OS image which we will call a “golden image”. A clone of that golden image can now be made and an Ansible playbook created that simple does four functions. Running the Ansible playbook with set the hostname, create a snapshot of another database (we will call the production database), vluns get assigned and 3PAR host assigned. Finally the volumes are scanned and mounted. This process takes a little over 3 minutes. For multiple systems this could means the difference in hours savings in time.


Below is a clip of a couple of the main functions used in the play book. First is a function to create the read/write snapshot and second is a function to create vlun paths from the snapshot to the VM host. The base volume in this clip is named OraProdData.2 on the 3PAR array. In order to make the snapshot read/write there is a variable called read_only that needs to be set to false.  The delegate_to: call is to assign where these functions will be executed. The system that executes the functions must have the hpe3par_sdk installed with the Ansible modules.pic6.png


Video demo of Ansible creating a database DevOps system with Ansible

Please blog any questions you may need addressing or just any general discussion is ALWAYS welcome!

Best Regards

Todd Price – HPE Technical Marketing Engineering – Oracle Solutions


0 Kudos
About the Author


Expertise in Oracle Database Technologies on HPE Storage