Tag Archive: Oracle VM

At times debugging certain Oracle VM or Oracle VM Manager related issues is quite challenging. In today’s article I’d like to discuss the different log locations to better assist those in trying to solve a particular issue.

I will start off by discussing the Oracle VM Manager 2.2. The Oracle VM Manager has three main log files all located under the /var/log/ovm-manager directory. These files are the db.log, oc4j.log, and the ovm-manager.log
Continue reading


When considering an Oracle RAC environment, one of the main questions that always seems to be asked is “How much is Oracle RAC licensing going to cost me?” While Oracle RAC licensing can be expensive, there is a way to cut some of those expenses out by ensuring that the amount of CPUs you are licensing is truly what you need. While attempting to size your physical environment with the correct amount of CPU cores required is possible, it is also very difficult due to vast growth of multi-cored CPUs in the market. A better option would be using Oracle VM to hard partition only the cores required for your Oracle RAC environment. This methodology known as ‘hard partitioning’ allows you to take advantage of Oracle RAC technology and save on Oracle RAC licensing costs.
Continue reading

In today’s Oracle VM Manager there is no way of extending the disk size of a guest VM. However, via this tutorial I will show you how to extend the .img file.

PLEASE NOTE: It is highly recommended to make a backup of the disktoExtend.img file prior to trying the steps below.

Let us assume we have an Oracle VM guest which contains 3 files. The three files are the following: System.img, disktoExtend.img, and vm.cfg. Our guest VM is running RHEL/OEL.

[root@OVMSERVER]# ll
total 22000640
-rw-r--r-- 1 root root 26847313920 Oct 13 10:28 disktoExtend.img
-rw-r--r-- 1 root root 11630545920 Oct 13 09:57 System.img
-rw-rw-rw- 1 root root 459 Oct 13 10:27 vm.cfg

Continue reading

If you haven’t checked out the latest Oracle 11gR2 ( VM template, it can be found at

Once there, under ‘Select a Product Pack’, pick Oracle VM Templates, and under ‘Platform’ pick your achitecture, 32 bit or 64 bit. Then look for the template labeled: Oracle VM Templates for Oracle RAC 11gR2 Media Pack v1 for x86 (32 bit) or Oracle VM Templates for Oracle RAC 11gR2 Media Pack v1 for x86_64

The 11gR2 templates are linked on OTN at:

However, if your looking for the 11gR2 ( Oracle VM template, it requires you have access to My Oracle Support. Only customers with support can download the under the patch number 10113572

If you want to know more about how the templates work and have access to Oracle OpenWorld on Demand, once logged in go to the search navigation bar and type ‘Oracle VM Best Practices’, once there you will find our (Saar Maoz and Roger Lopez) session presentation slide deck as well as audio to accompany the slide deck. Saar did a great job on creating these templates and it truly shows. I hope you all can check them out!

If you do not have access to download the presentation but want a copy, feel free to comment on this post so I can get you a copy.


Ever had your virtual machine show an incorrect status such as ‘Shutting Down’ and just stay in that status indefinately? Well there is some good news, it’s an easy fix. There are a couple reasons this can occur. First, if you stopped your virtual machine from the OVM server instead of the OVM Manager this could cause the OVM Manager and OVM server to be out of  ‘sync’ when reporting the status of your virtual machine. In other cases, it could be a bug between the communication of the OVM Manager and Oracle VM server. In either case there are a few options in solving your issue.

In OVM Manager 2.1.*, you will need to manually update the Oracle VM Manager database status of your guest virtual machine.
Login as ‘oracle’ into your OVM Manager and follow the steps below.

$ export ORACLE_HOME='/usr/lib/oracle/xe/app/oracle/product/10.2.0/server'
$ export ORACLE_SID=XE
$ ${ORACLE_HOME}/bin/sqlplus system/oracle@XE
$ SQL> update ovs.ovs_vm_img t set t.status='Powered Off' where t.img_name like '<MY_VM_NAME>';
$ SQL> commit;
$ SQL> quit;

In Oracle VM Manager 2.2 and above, the process is quite simple. Oracle has introduced the ‘Reset’ option which will set the virtual macine guest to its correct state.
The steps are as follows:
1) Click on the Virtual Machines tab found on the top left corner.
2) Select the radio button of the appropriate virtual machine that has the incorrect status displayed.
3) Click on the ‘More Actions:’ drop down box and select the option ‘Reset’
4) Click the ‘Go’ button for the reset to take place.

Once the ‘Go’ button is selected, the virtual machine will reset and display the appropriate virtual machine status.

Hope you enjoyed this article and feel free to post any comments our questions.


One of the tougher aspects of Oracle VM is deciphering how to debug errors found in the logs within the Oracle VM Manager. Today I’d like to discuss an issue I’ve come across when trying to create a server pool within the Oracle VM Manager. The bug specifically consisted of my Oracle VM Manager not correctly entering the proper IP information within the /etc/hosts file of my Oracle VM Server host.


With the introduction of OCFS2 1.4 within Oracle VM 2.2, Oracle VM 2.2 has the ability to thin provision your files within your OCFS2 filesystem via the use of the sparse files. One might ask, what exactly is a sparse file? A sparse file is a file that attempts to use filesystem space more efficiently by effectively only using the space required to fit actual data. For example, imagine I have a System.img file within my Oracle VM repository that is 6.2GB in size as seen here:

[root@ovm]# ls -llh System.img
-rw-r--r-- 1 root root 6.2G Apr 14 09:18 System.img

If I did not have the sparse file feature within my Oracle VM 2.2 operating system, the  System.img file would actually take up 6.2GB of allocated space away from my OVS repository. However, with the introduction of sparse files to OCFS2 1.4, the actual data contained within  my System.img  was only 3.3GB as shown below. A total savings of 47% of actual diskspace!

[root@ovm]# ls -lsh System.img
3.3G -rw-r--r-- 1 root root 6.2G Apr 14 09:18 System.img

Now that we understand the huge advantages of enabling sparse files, I will show you how to enable sparse files for your Oracle VM 2.2 environment.

When working with Oracle databases, it is highly recommended to use physical volumes attached to your virtual machines instead of shared virtual disks due to degraded performance when using virtual disks. Unfortunately, within the Oracle VM Manager you cannot add physical volumes to your virtual machine unlike shared virtual disks. In order to add physical disks to a virtual machine you must modify a VM’s vm.cfg file located under /OVS/running_pool/<vm_name>/. This directory contains a System.img file, a vm.cfg file, and a vm.cfg.orig file. An example of a basic vm.cfg file created by the OVM Manager looks like the following:


Oracle VM uses Oracle VM Server (OVS) repositories to store resources such as virtual machines, templates, ISO images, and shared virtual disks. Once a storage repository has been created and initialized, it will create storage repository directories to store these resources. One of these sub-directories is the running_pool directory which will contain your virtual machines. Via your Server Pool Master you will create an OVS repository following the steps below.


The Oracle® Cluster File System (OCFS2) is the file system used for setting up the Oracle® VM Server (OVS) repository partition for shared disk access across all your OVM Server nodes. OCFS2 uses a heartbeat mechanism across all your OVM nodes via the network to maintain data consistency.

In order to setup your OCFS2 repository, the setup of the o2cb cluster service must be done on all your OVM Servers. From each node, run the following setup script using the command and insert the following inputs:

service o2cb configure

Load O2CB driver on boot (y/n) [y]: y
Cluster stack backing O2CB [o2cb]: o2cb
Cluster to start on boot (Enter “none” to clear) [ocfs2]: ocfs2
Specify heartbeat dead threshold (>=7) [100]: 100
Specify network idle timeout in ms (>=5000) [30000]: 30000
Specify network keepalive delay in ms (>=1000) [2000]: 2000
Specify network reconnect delay in ms (>=2000) [2000]: 2000