Historically, Exadata has mostly been deployed for heavy, production workloads, leaving cheap commodity hardware and third-party storage to perform as infrastructure for Development and Testing. From the viewpoint of Enterprise Manager, we have seen customers clone production databases running on Exadata to secondary storage such as ZFS Storage Appliance or even third-party NAS or SAN for the purpose of testing. Customers mainly used RMAN (with or without Enterprise Manager) to clone the databases. While the master clones (often referred to as Test Master) could be further cloned via storage efficient snapshots, there were significant limitations to the approach.
Most surveys establish that there are several Dev/Test copies for every Production database, and leaving Dev/Test outside the realm of Exadata can only yield partial usage of engineered systems.
Two recent advancements in Exadata break this existing barrier. First of all, the compute nodes on Exadata can now be virtualized. Consolidated environments can now use Oracle Virtual Machine (OVM) on X5-2, X4-2, X3-2, and X2-2 database servers to deliver higher levels of consolidation and isolation between workloads. The Virtual machines can be configured on demand with the appropriate number of Virtual CPUs (vCPUs) for iterative testing. Second, with Oracle Database 12c Release 1 (12.1) release 18.104.22.168 BP5 or later, space-efficient database snapshots can now be quickly created for test and development purposes on Exadata.
Snapshots start with a shared read-only copy of the production database (referred to as the Test Master in Enterprise Manager Parlance) that has been masked and/or cleansed of any sensitive information. Snapshot technology as deployed on Exadata is "allocate on first write", not copy on write. As changes are made, each snapshot writes the changed blocks to a sparse disk group. Multiple users can create independent snapshots from the same base database, therefore multiple test and development environments can share space while maintaining independent databases for each task. The base database must remain read-only during the usable lifespan of snapshots that are created from that base database. If there is a need to create another set of snapshots from a more recent copy of production data, a new read-only base from a production database needs to be created.
Enterprise Manager 12cR5 leverages the capabilities of Exadata to extend the Snap Clone capabilities for Exadata Sparse clones. As shown in this tutorial, with Snap Clone, Enterprise Manager can create a Test Master using either Dataguard technology or RMAN preceded by data masking. The Test Master can be created either on the same Exadata rack or on a different one. Once the Test Master has been created, snapshots can then be created on the sparse disk groups using the Deployment Procedures. The Deployment Procedures also automate the post-cloning discovery and promotion of the cloned targets, making them fully managed right from inception. Internal testing confirms that for cloning a Terabyte of database with a complete discovery of all its components takes less than a minute.
Enterprise Manager also helps DBAs track the lineage of the clones by providing a report on the production database, the Test Master and its clones. Enterprise Manager Snap Clone on Exadata supports both regular as well as pluggable databases with optional ACFS configuration. In addition to support for Exadata sparse clones, Snap Clone continues to support NAS (ZFS Storage Appliance and NetApp) and SAN (certain EMC storage arrays), in case users want to deploy these for their Dev-Test environments.
Further Reading Resources