Installing PL/SQLDeveloper under Wine in Ubuntu

Tantalus – that Greek bloke who was doomed for all eternity to eternal thirst and hunger despite having food and water within reach. Had he been a Geek, rather than a Greek, he would’ve worked in a place where you can choose which OS to use…but be denied by the fact that, as a database developer, he had to use PL/SQLDeveloper – a Windows only IDE.

Oh the bitter irony. Well, unlike Tantalus, I’ve decided that, as with so many other problems in life, this particular dilemma can be resolved by alcohol – in this case, a glass of Wine.

WINE – formerly WINdows Emulator, now re-christened Wine Is Not an Emulator. It’s open source so, on this occasion, we don’t have to beware Geeks bearing gifts ( sorry).

For this particular exercise, I’m using Ubuntu 10.04.
PL/SQLDeveloper is that “other” PL/SQL IDE – this one being published by Allround Automations.

An acknowledgement before I go any further – this article by Nik Chakov was really useful.

Installing Wine

Go into Synaptic Package Manager ( System / Administration / Synaptic Package Manager )
In the Quick Search type wine

Check the box to install wine and say yes to the host of packages that will also be marked.

Click Apply and let Synaptic do it’s thing.
When it’s all finished, you’ll have a menu entry for wine under the Applications menu.
Notepad comes pre-installed and is runnable from under the Wine / Accessories Menu

Installing the Oracle Client

Yes, we may well have a Oracle Client already on the machine, but PL/SQLDeveloper relies on the presence of a dll. So, head over to the Oracle Client Download Page.

Note – we need the full-fat instant client – the one with all the OCI stuff. I found this out the hard-way as I initally downloaded the sqlplus version (780 kb). What you actually need is the 49.1 MB instantclient-basic-win32-11.2.0.1.0.zip.
If you’re using Firefox, the file will be saved to the $HOME/Downloads directory.

Next step is to create get the files extracted into the appropriate directories in the Wine home directory. In Terminal…

$ cd $HOME/.wine/drive_c
$ mkdir oracle
$ cd oracle
$ mkdir bin
$ mkdir network
$ cd network
$ mkdir admin 
$ cd bin
$ cp $HOME/Downloads/instantclient-basic-win32-11.2.0.1.0.zip .
$ unzip instantclient-basic-win32.zip

At this point, I tidied up a bit…

$ mv instantclient_11_2/* .
$ rmdir instantclient_11_2 

So, we’ve got all of the required files in c:\oracle\bin
The oracle home is going to be c:\oracle
We need to define this in a Windows way so …

$ wine regedit

Add Oracle under HKEY_Local_Machine\Software
Under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\Environment
Amend the PATH by adding c:\oracle;c:\oracle\bin
We also need to add an entry for TNS_ADMIN to be c:\oracle\network\admin.

Next, we need a listener.ora and tnsnames.ora in the c:\oracle\network\admin directory.
These files are the same irrespective of the OS you’re running on so, if you’ve already got an oracle client configured, you can just copy these files accross.

The listener.ora first :

SQLNET.AUTHENTICATION_SERVICES=(NTS)

NAMES.DIRECTORY_PATH=(LDAP,TNSNAMES,ONAMES,HOSTNAME)

DEFAULT_SDU_SIZE=8761

Now the tnsnames.ora :

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = my-pc-name)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

PL/SQLDeveloper

You can download a trial version from the Allround Automations site.

The downloaded file is plsqldev804.exe.

Copy this file to c:\Program Files ( $HOME/.wine/drive_c/Program Files)

We need to associate this file with wine so…
Go to the Applications Menu , Wine, Browse C: Drive then navigate to Program files.
Right click the file you’ve downloaded ( plsqldev804.exe )
Select the Permissions tab.

Here you need to check the Allow Executing File As Program as per the screenshot below :

Next open the Open With tab, click the Add button.
Now select Wine Windows Program Loader from the list and click Add.
Back in the Open With tab, select the Wine Windows Program Loader.

Back in the file explorer, Right-click the file and open with Wine.
The installer should now run as you’d normally expect. Accept all of the defaults.

Now for the test. You can either run PLSQLDeveloper from the desktop icon or from under the Wine menu ( Applications/Wine/Programs/Applications/PLSQLDeveloper ).

When you get the dialog box to connect to a database, you should have all of the databases in your tnsnames file in the drop-down.

One final step – ( thanks to the instructions at the Wine PLSQLDeveloper page) – to get the icons to display correctly, go into the PL/SQLDeveloper Tools/Preferences menu and in the User Interface Appearance section, uncheck the option for Faded disabled buttons. Now re-start PL/SQLDeveloper.

Hopefully, you should now have a fully functioning copy of PL/SQL Developer and just maybe one step closer to a Windows free working environment.

About these ads

7 thoughts on “Installing PL/SQLDeveloper under Wine in Ubuntu

  1. Awesome, thanks Mike, worked like a charm.
    Just had to configure fonts under Preferences, as the defaults PL/SQL Dev expects are not there, and code formatting is terrible unless you use a mono-space font

  2. AWESOME! I might add also including ORACLE_HOME = C:\oracle in case you install Oracle Instant Client on Ubuntu since the local environment variable will take hold and PL/SQL needs an ORACLE_HOME to point to C:\Oracle

  3. Pingback: ubuntu 12.04LTS + wine 1.5上使用PL/SQL Developer-已经相当完美 | 架构(architecture.riaos.com)

  4. Pingback: ubuntu 12.04LTS + wine 1.5上使用PL/SQL Developer-已经相当完美 | 数据库(database.riaos.com)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s