Some time ago I discovered in marketing materials that Delphix is capable of virtualizing Oracle EBS. From that moment I wanted to test it myself. Let us test it!
Test Enviroment Architecture
We need:
- Source Oracle EBS R12.1.3 environment.
- Delphix Engine v.4.2.1.
- 2 target VM to host database and application node.
I have decided to install source R12.1.3 in one VM running in ESX5.5. Both database and application node will share the same VM host. This is to conserve some resources. We do not need great performance of source R12.1.3 since we are only using it as a source for virtualizing and cloning. I have installed EBS from scratch in VM running Oracle Enterprise Linux 6.4 (Santiago). Installation was done in two steps. First installation of R12.1.1 from media available in Oracle e-delivery and then patching up to R12.1.3. This was quite challenging for me but eventually I have succeeded. This was Vision Demo installation.
I have chosen most recent version of Delphix Engine v4.2 for test. It supports virtualizing Oracle EBS R11i, R12.1 and R12.2. This time we are testing R12.1.3. In one of the next posts I am going to show how it goes with R12.2. Delphix is running as VM in ESX5.5.
We need target VMs to host our database and application stack of R12.1.3. I have decided to use also Oracle Enterprise Linux 6.4 for this.
VM Sizing
Source VM - Source EBS
- 8GB RAM
- 4 vCores
- 16 GB Swap
- 20 GB - system partition
- 600 GB - partition dedicated to EBS R12.1.3 (used for db and apps binaries, database and installation media)
Target VM - Database Tier Node
- 4GB RAM
- 2 vCores
- 16GB - Swap
- 20GB - System Partition
Target VM - Application Tier Node
- 8GB RAM
- 4 vCores
- 16 GB - Swap
- 20GB - System Partition
Source EBS Instance
Delphix GUI - Capacity Management Screen |
- source database takes 186.99 GB
- database stack takes 53.94 GB
- application stack takes 28.07 GB
EBS binaries plus database files occupy 269 GB disk space in source VM.
Source VM reports following
Space Occupation in Source VM |
Folder data keeps not only EBS files but installation media too.
Target Instance Nodes
Database Tier Target VM
Space Occupation - Target VM - Database Tier |
We can see that there are "appdata_container" and "oracle_db_container" folder names over there. They indicate what kind of resources are mounted on target VM.
Space occupied by target VM - Apps Tier |
Application Tier Target VM
Virtualizing Process
Clonig approach is very well described in Ron Enkins's blog posts:
http://blog.delphix.com/ron/2014/09/10/virtualsing-oracle-ebs-r12-1/
http://blog.delphix.com/ron/2014/10/08/creating-virtual-oracle-ebs-environment-using-delphix/
It consists of two phases
1. Creating data sources
2. Virtualizing/Cloning
Both phases consist of three steps.
Data sources - one time process
1. Create database stack data source - ingest database binaries and EBS database related stuff
2. Create Oracle database data source - ingest database itself
3. Create application stack data source - ingest application binaries and related data
Virtualizing/Cloning - Virtual EBS Components
1. Create virtual database stack - binaries. It is done by mounting network resource containing virtual database binaries. It is mounted in target database VM. After mounting listener process is started.
2. Create VDB (Virtual Database) in target database VM. Startup database using virtual binaries.
3. Create virtual application stack in target app stack VM. Mounting binaries from Delphix Engine. Startup of binaries.
All these steps are done in just few clicks. It's described in detail in Ron's blog posts mentioned above.
Delphix Main Console - EBS Objects |
VIS - data source for Oracle database VIS
VIS dbTechStack - data source containing Oracle database binaries and database server related data in EBS
VIS appsTier - data source containing application binaries and apps related data
VISDEV dbStack - virtual database binaries mounted to and running in database node VM
VISDEV - virtual database opened in database node VM
VISDEV appsTier - virtual application binaries mounted to and running in application node VM
Virtual means
- We don'd need space in target VMs
- We only need computing power in target VMs
- We can multiply all virtual objects endlessly. The only limit is computing resources in target VMs.
- We can use all amazing Delphix features like snapshots, rewind, refresh from source, time flow etc etc
Database Stack Card |
Virtual Database Card |
Application Tier Card |
Delphix'ed EBS Login Screen |
Inside Virtual EBS |
Virtual VISDEV EBS R12.1.3 |
Conclusion
Timing
- Provisionig of virtual database stack - 3 minutes
- Provisioning of VDB - 3 minutes
- Provisioning of virtual application stack - 11 minutes
You can have running virtual copy of fully functional Oracle EBS R12.1.3 in 17 minutes. This is timing in my small lab box.
You don't need vast resources at target nodes to run your virtual EBS.
You can do it without expect knowledge. Once source EBS instance is ingested into Delphix Engine and your target VMs are properly prepared (one time action) you can do it in just few clicks in Delphix Web GUI.
Imagine what you can do with such capabilities.
- EBS patching and regression tests are getting safe and can be done in parallel with other projects. No collisions with release activities.
- Production bugs can be tested against system state when the problem happened - time flow feature of Delphix data sources
- You can run parallel projects in isolated environments