Wednesday 22 April 2015

Oracle EBS R12.1.3 - Virtualizing Experience



Oracle's ERP Goes Virtual

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:
  1. Source Oracle EBS R12.1.3 environment.
  2. Delphix Engine v.4.2.1.
  3. 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
Delphix after importing of EBS source objects into applience's storage is reporting:
- 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 in screenshot above that there is only 3.6GB occupied in our system partition. The mounted resources are managed by Delphix Engine. DE delivers database binaries and database files this way. No Oracle binaries are installed in this VM.
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
In screenshot above we can see that we occupy in system tablespace only 3.6GB. We also have one network resource mounted from Delphix Engine. These are just application tier binaries managed by DE.

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
In screen above we can see:
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
  1. Provisionig of virtual database stack - 3 minutes
  2. Provisioning of VDB - 3 minutes
  3. 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