07 November 2011

Minimizing Costs by using Oracle Database Virtualization Appliances


I always use Linux or Windows boxes as a seperate box inside my own W7 laptop. The boxes are made of Virtualization Software -namely Virtualbox-,  the one that Oracle has acquired recently. These type of software especially useful for minimizing hardware costs and supplies ease of using multiple operating systems with different software profiles. For instance, i have one box with Ubuntu and the other one with RedHat. When i want to play with Oracle 11.2, i am starting the RH box in a few seconds. ( i will explain this RH box in more detail, later, coming soon J )

Two years ago, i have enrolled in a project that is -shortly- upgrade of a telco billing system. The software that is used in the company for billing and rating, was too old; therefore the company wants to upgrade it. By this upgrade, the database version shall also be upgraded(from 11.1 to 11.2). Due to the conditions of competition, the IT department of company has developed lots of workarounds inside the database using PL/SQL language. These workarounds are encapsulated in a different schema(the billing software has its own schema).  In order to convert(or transform) these workarounds, we need two different databases. One that contains functions/procedures/packages with old billing software version(source database). The other one that will contain the program units for new billing software version(target database). Data model of billing&rating software of old version is different than the Data Model of new software version. We took two different database import files from the customer.First import file contains all objects(both workaround objects and billing system objects) that is currently lives on the production billing system. Second import file contains only new billing system database objects. In order to start transformation process, we have installed two different Oracle Sofware(11.1 and 11.2). The new billing system version also contains some java and windows applications. In order to run these beckend applications, we also need a Windows machine.

Up to now, i have described the situation of project in bird’s-eye perspective J. In order to start the project, we need three(two unix, one windows) different operating systems, machines(we want to seperate source and target databases). We had only one server machine(ubuntu) in our development office. The other development offices have more machines; but we want to take all the stuff inside the office that all team members works in. In order to prepare development environment, we have installed VirtualBox software in the server. We have created three different boxes(two of them ubuntu again J, the last one is windows) with necessary configurations(static ip, ssh server, ftp server, X server etc). Virtualbox allows you to run boxes silently(background). This is a very  powerful feature; so it is possible to start boxes via command line(VboxManage command).  Although ubuntu is not an official operating system for Oracle installation, we have installed Oracle softwares(11.1 and 11.2) on the boxes. Then, we have imported dump files and get ready for project J

Today, Oracle has prepared some pre-configured virtualbox appliances for spesific developmet areas. That is, you are not responsible for creating operating systems, installing Oracle software and sone other development tools. The box contains following softwares:
Oracle Linux 5
Oracle Database 11g Release 2 Enterprise Edition
Oracle TimesTen In-Memory Database Cache
Oracle XML DB
Oracle SQL Developer
Oracle SQL Developer Data Modeler
Oracle Application Express 4.0
Oracle JDeveloper
Hands-On-Labs (accessed via the Toolbar Menu in Firefox)

May be you are not realizing how important this pre-configured boxes are; but i(as the one who does all of these installation and configuration processes manually) admit that this is very powerful and cost-minimized thing.

 I have downloaded the database development vbox appliance and import it into VirtualBox. Except duration that lasts during downloading files, in few seconds( yes few seconds), i have started an Oracle 11.2 database(ORCL instance) in my W7 laptop without doing any other installation processes. I have created two command files in order start and stop the box. (you can also create windows services)
run_oracle_vm.bat
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"  startvm "OTN Developer Days"  --type headless

stop_oracle_vm.bat
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"  controlvm "OTN Developer Days" savestate

Please note that starting the box silently, will not consume lots of system resources. When i check it from TaskManager, Vbox(VBoxHeadless.exe) uses 13% of CPU and less than 50M of memory. I do not how it does it J
You can also download vbox appliance that meets your requirements and concerns your development area.

No comments: