Today I was trying to deploy vCenter Server Appliance using an Oracle Express 11g in my "labtop" (good way to call my personal lab running on my laptop http://communities.vmware.com/4.0.13/images/emoticons/happy.gif

). Although it is not listed in the interoperability matrix, Oracle Express sounded like a good way to "test" functionality and configuration of the vcenter database over oracle. Bottom line, it's not. Don't waste your time...I already wasted it for you http://communities.vmware.com/4.0.13/images/emoticons/grin.gif


This post will explain why you can't use Oracle Express with a vCenter Server Database and even if someone is good enough to "trick" the system into using them together, that would violate Oracle's EULA so for some of us, that is not an option.


The software involved is:


vCenter Server Appliance v5.1b

Oracle Express (XE) 11g over a W2K8R2 Enterprise Trial


I'll reproduce the steps i followed:


1) Stop vpxd service


service vmware-vpxd stop


2) Change database configuration (this can be done using the graphical interface in port 5480 as well). I used the vcsa command line.


vcsa:/var/log/vmware/vpx # vpxd_odbcconfig

WARNING - Use of this command is not supported unless you are doing this

with the consultation of VMware Technical Support or a VMware published

technical article.

VMware vCenter Server Appliance ODBC Configuration

Choose a database to use with VMware vCenter Server

1) oracle

2) embedded

#? 1

Configuring ODBC for oracle

   Database server host/ip: server1

   Database instance name: xe

   Database login id: VPXADMIN

   Database password:

   Database password again:

After a while, it will show this error.

Error: Failed to initialize schema.

3) Looking for some logs, I found this in /var/log/vmware/vpx/vpxd.log (do not "cat" this thing...it will last forever)

tail vpxd.log (actually, I repeated the process and used tail -f to actively monitor this log)

2013-02-23T16:20:44.145+01:00 [7FD9A1F41720 info 'utilvpxdVdb'] [VpxdVdb::SetDBType] Logging in to DSN: VMware VirtualCe

nter with username VPXADMIN

2013-02-23T16:21:34.698+01:00 [7FD9A1F41720 error 'Default'] A database error occurred: "ODBC error: (HY000) - [Oracle][

ODBC][Ora]ORA-00439: feature not enabled: Advanced replication

--> " is returned when executing SQL statement "create materialized view log on VPX_DEVICE with rowid"

So, there it is...this is why it fails. One of the privileges that the database user must have is to "create materialized views". The scripts from vcenter include this line when creating the schema of the database.

grant create materialized view to VPXADMIN

When trying to create this view, you will get this error as this is not a licensed feature of the Express Edition. Don't get confused because it was possible to do this before, it was never allowed by Oracle to use this feature in the Express Edition. The thing is that from version 11g, it looks like this licensing restriction, is enforced at a technical level (I think is better this way actually).


Well...hopefully VMware will explode the possibility of using the embedded vPostgres in environments bigger than 5 hosts/50 vms and things will get a lot more easier and cheaper