Running the OBIEE Administratiol tool on Unix using Wine

December 13th, 2009 by

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

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:

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/

winecfg.png

Next I created a little .bat file to set the environment to what the admintool.exe expects to find, e:\wine.bat :

This makes it possible to now fire up the admintool.exe and open up an .RPD file in Offline mode:

obiee_admintool.png

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.

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.

obiee_reg_1.png

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

obiee_odbc_conn1.png

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

obiee_admin_conn1.png

And the joy!

obiee_admin_conn2.png

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 …?

Comments

  1. Venkatakrishnan J Says:

    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 :-)

  2. Dan Kegel Says:

    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

  3. Jon Mead Says:

    Good man, excellent

  4. rnm1978 Says:

    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

  5. Borkur Steingrimsson Says:

    @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.

  6. Stewart Bryson Says:

    @Venkat: it works on the Mac? OUTSTANDING!

  7. Martin Hammer Says:

    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.

  8. Borkur Steingrimsson Says:

    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

  9. Vee Says:

    @Bokur

    Did you get time to test Martin’s bullets?

    I want to decide to attempt based on your advice – on OEL5 though.

  10. Clara Says:

    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…

  11. Clara Says:

    …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…

  12. Borkur Steingrimsson Says:

    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 :)

  13. Clara Says:

    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…

Website Design & Build: tymedia.co.uk