ORCA is a collection of Ansible playbooks which addresses the challenges of Oracle Database Copy Data Management (CDM). ORCA provides traditional and modern DevOps teams a Self Service solution enabling developers, QA engineers and business teams the abiliy to refresh non-Production databases without impacting Production systems.
ORCA utilises standard Ansible and Pure modules to manage Oracle database services and perform 'Crash Consistent' storage snapshots, enabling end-to-end automation of Oracle databases refreshes across mulitple non-Production databases within the Enterprise.
Unlike other Copy Data Management (CDM) solutions, ORCA has zero Production Impact e.g.
- No Production configuration changes e.g. OS or databases accounts
- No Production agents or sofware installs
- No additional Production backup workload e.g. RMAN jobs
- No impact to Production databases e.g. requirement to put database into Hot Backup mode.
ORCA is designed to be run from RedHat Ansible Tower or the Opens Source AWX Project.
ORCA is able to leverage the Ansible Tower and AWX Automation and Orchestration features below. If you are considering a CDM tool I strongly suggest you consider these features:
- Modern WebUI, command line and REST API interfaces (for integration with other DevOps tools e.g Jenkins)
- The ability to schedule and run job interactivley (Self Service)
- Provide runtime variables and parameters
- Job notifications - Slack, email etc...
- Code configuration management through Git intergration
- Host and dynamic inventory management
- Security and encrypted password management
- User RBAC (RollBack Access Control)
- Job Audit and reporting
- Create required Oracle directory structure on Windows Servers
- Dynamincally create Windows Command, PowerShell and SQL scripts and transfer to target server
- Perform crash consistent storage snapshot of source database
- Shutdown Target Database
- Off-line Windows disks
- Overwrite database volumes with snapshot
- On-line Window disks
- Startup Oracle Database
- Rename Oracle database with Oracle NID utility
- Rename Operating System database directories and files.
ORCA requires the PureStorage Python REST Client, details available at https://pypi.org/project/purestorage/
$ pip install purestorage
Also, install the Pure Storage FlashArray Ansible collection, details available at https://galaxy.ansible.com/purestorage/flasharray
$ ansible-galaxy collection install purestorage.flasharray
Download ORCA from GitHub and localise files in vars to required source and target databases etc.
Use from your ansible control machine command line or via RedHat Tower / AWX.
$ ansible-playbook database_clone_win.yaml
Use -v to provide verbose output
- Source and Target database(s) reside on the same FlashArray
Ron Ekins, Principal Solutions Architect at Pure Storage
Oracle ACE Director
This module is available to use under the Apache 2.0 license, stipulated as follows:
Copyright 2018 Pure Storage, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
[RedHat Ansible] (https://www.ansible.com)
[RedHat Ansible Tower] (https://www.ansible.com/products/tower)
[RedHat Ansible AWX] (https://www.ansible.com/products/awx-project)