Running the OBIEE Administratiol tool on Unix using Wine
December 13th, 2009 by Borkur Steingrimsson
The other day I was playing with getting OWB11gR2, which at the time of this writing, has only been released under Linux and Solaris, to run under Windows. In the pursuing comments Jon Mead threw down the gauntlet and asked if I could figure out a way to run the OBIEE Administration tool under Linux. Like many of you might know, most everything in the OBIEE stack runs on Windows as well as various Unixes, but the Administration tool however is only available on Windows. The reason for that being that the tool is written using Microsoft Foundation Classes.
So I set out to give it a go. I picked a random Ubuntu VM image I had laying around and installed Wine (sudo apt-get install wine). After some failed attempts on trying to figure out which DLLs the admintool.exe uses I figured out that the Dependency Walker tool was just what I needed (I still would have preferred to have a proper Windows equivalence of the Unix tool ldd ). Looking at the dependent DLLs I quickly saw that most all of these libraries are contained in the %BIHOME%\server\bin directory. The tricky bit would be to get the MFC libraries in place. A quick Google search suggested to use the Winetricks gadget to install the .NET 2.0 libraries in to Wine
wget http://www.kegel.com/wine/winetricks && sh winetricks msxml3 dotnet20
This should install a working version of .NET on Wine. The next issue is to set the proper PATH variable in your wine session. I started up a wine Command line util by issuing:
wineconsole cmd
Now, we also need to have the software in place. So grab a complete copy of both the OracleBI and OracleBIData directories from a working Windows installation. Make sure to note the full path of your installation as you want to match the correct path (including drive letters) in Wine. Use the winecfg utility to map a Wine drive letter to the folder where you copied the OBIEE installation to. In my case I had OBIEE installed on E:\BI\. I copied my installation to /mnt/hgfs/BI and configured Wine to map E: to /mnt/hgfs/

Next I created a little .bat file to set the environment to what the admintool.exe expects to find, e:\wine.bat :
set SADATADIR=E:\BI\OracleBIData set SAROOTDIR=E:\BI\OracleB set SATEMPDIR=E:\BI\OracleBIData\tmp
set PATH=%PATH%;E:\BI\OracleBI\server\Bin;E:\BI\OracleBI\web\bin;E:\BI\OracleBI\web\catalogmanager;E:\BI\OracleBI\SQLAnywhere;
This makes it possible to now fire up the admintool.exe and open up an .RPD file in Offline mode:

This seems to behave OK and I am happy with what we got. But I still want to be able to connect to an Online server. My Ubuntu has already a working OBIEE installation so I am keen to get the Oracle BI Server ODBC driver set up on my Wine. This is where the winetrick comes in handy again.
sh winetricks jet40 mdac28
This gives me a working Microsoft ODBC for Oracle. A quick Windows Registry hack to register the e:\BI\OracleBI\server\Bin\NQSODBC.dll with the Wine Registry and we are on our way. First I exported the following key from my working Windows XP VM image: [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Oracle BI Server]. (Make sure to export it using a Win95 format). Import this key in to your wine installation, using wine regedit. Then create a new string value, called Oracle BI Server, in the [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers] key, and give it the value Installed. This will tell Wine where to look for your .DLL.

Next step is to simply create a normal ODBC connection to my local BI Server with the odbcad32.exe command in the wineconsole:

Now I fire up the admintool.exe and see if I can connect to my local BI server:

And the joy!

Now, it will be interesting to see if I can actually work with this, but at first glance it looks just fine. Hasn’t crashed on me yet, so I am hopeful it will stick. Next step is to try out the other tools as well, such as the Catalog Manager. These are Java based, so I might as well try and run them natively from Ubuntu …?


December 13th, 2009 at 11:46 pm
This is excellent Borkur. Thanks for sharing this. Couple of points to note for OEL5
1. EPEL packages will have to be downloaded for Oracle Enterprise Linux (a. rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm b. yum repolist c. yum install wine) for installing wine
2. BI Server requires MFC80 packages. So, while installing winetricks packages, i had to use vcrun and vcrun2005 in addition to the dotnet20 (sh winetricks vcrun vcrun2005)
Works pretty well. Will be interesting to see how the licensing works. I believe we need an extra license for Visual Studio since we are moving that over to Linux. Or will that be covered as part of BI EE license (i doubt that). Also, just the BI Admin Client install folder copies will be sufficient (OracleBIData and OracleBI) which is what i believe you meant. Same thing works on the MAC machines as well using the MAC Wine install :-)
December 14th, 2009 at 5:43 am
Glad Winetricks was handy! If you do
run into problems, please report them
via the Wine AppDB or Wine’s bugzilla,
both at http://winehq.org
December 14th, 2009 at 7:13 am
Good man, excellent
December 14th, 2009 at 8:23 am
Great work Borkur.
I’ve had a draft blog posting on the same idea for several months now and hadn’t got around to finishing it, glad you did :)
cheers, RNM
December 14th, 2009 at 10:47 am
@Venkat Godd stuff. I was thinking of that as well, to run it on the Mac. it would make it even better to use, so I’d not have to set up wine on every VM I’d use.
@Dan Thanks for providing these. Saved me heaps of time
@rnm1978 thanks. It was fun to do. Let me know if you have a go at it and how it goes for you.
December 15th, 2009 at 12:06 am
@Venkat: it works on the Mac? OUTSTANDING!
December 16th, 2009 at 2:10 pm
I played with this a while back, around the time of Borkur’s original article on installing OBIEE in Ubuntu.
Here’s a brief list of things which caused the Admin Tool to crash. Based on that, I didn’t pursue the idea any further, but would be very interested if you can’t get it working.
- Right-click database or table in physical layer (or logical table in business layer) and hover over “Display Related”. This crashes the Admin Tool with some TrackPopupMenu messages in shell. Opening the popup menu and avoiding the entry is ok, the other ones work ok.
- Foreign Keys and Logical Join (both in physical and logical layers) dialogs crash the Admin Tool when closed. This is probably the most critical of all the issues, without being able to create joins here’s no way of building an RPD.
- Closing Hierarchy level dialogs crashes Admin Tool.
- Closing variable dialogs crashes Admin Tool.
December 18th, 2009 at 10:27 am
Thanks for the comments Martin. I will be sure to test this and let you know if I have the same issues. I wrote up this post to see if I could get it to work, but have not had the need to actually use it yet as I have been busy with working on a Windows machine ;)
cheers
B
May 19th, 2010 at 8:37 pm
@Bokur
Did you get time to test Martin’s bullets?
I want to decide to attempt based on your advice – on OEL5 though.
June 2nd, 2011 at 10:07 pm
Hi Rittmann, you say:
“So grab a complete copy of both the OracleBI and OracleBIData directories from a working Windows installation. Make sure to note the full path of your installation as you want to match the correct path (including drive letters) in Wine. Use the winecfg utility to map a Wine drive letter to the folder where you copied the OBIEE installation to. In my case I had OBIEE installed on E:\BI\. I copied my installation to /mnt/hgfs/BI and configured Wine to map E: to /mnt/hgfs/”
I don’t understand. The E drive has the complete OBIEE Server installation? or is the E drive the drive from your Windows machine, which you access to and map to /mnt/hgfs…
I would appreciate if you write me back…
June 2nd, 2011 at 10:16 pm
…one more thing: do you mean the drive E on the Windows machine just to map to /mnt/hgfs (Linux machine)?.
I have a running version of the OBIEE Server on a Linux virtual machine and on a Windows XP virtual machine as well…
June 3rd, 2011 at 10:46 am
Hi Clara
The E:\BI directory has the complete installation (containing OracleBI and OracleBIDATA sub-directories).
In Linux, make sure you have access to the root of the drive where you have installed OBIEE on Windows. This will then allow you to map that point in to Wine. /mnt/hgfs/ is that mount point for me.
The point I am trying to get across is that you have to be able to read exactly the same path from Wine, as you would do from the Windows installation. So in Wine you refer to E:\BI\OracleBI\ exactly the same way as you would in Windows.
Hope that helps :)
June 3rd, 2011 at 11:05 am
Hi Borkur,
thanks for the tip and the explanation. Yes, it would help me.
Concerning Martin Hammer’s failures, could you test that with the Admin Tool?. It would be helful for us, just to see if this wine procedure is worth or not…