Recently I needed a good PLSQL tool also on Linux, after the whole Oracle stuff has massive flaws I decided to use the best tool on the market (PL/SQL Developer from Allround Automations) with Wine.
After I really like how Codeweavers are supporting the open source project wine, I decided to purchase the commercial version Crossover (very close to wine).
I tried a bit around and what I found out is that on my Linux system (Debian Stretch with Gnome, 3 sreens) PL/SQL Developer 12 ist not working (windows flipping endless).
I decided to go to version 11, and also take the 32bit version (had a headache with 64 bit version on wine), I also took Windows 7 (why not its stable...) and the R11 instant client (because I know this version is working).
The results are fantastic, until now I could not find any bugs, all looks good, below you find the steps it took me.
Download
PL/SQL Developer 11 32bit (PL/SQL Developer downloads)
Oracle Instant Client 11.2 32bit (instantclient-basic-win32-11.1.0.7.0.zip) (Instant Client Download)
Create Bottle
Create a new Windows 7 32bit bottle (I did it via the cxsetup GUI, but of course you can also do it by script)
Open the c: drive of your bottle (wherever it is located on your system) and install the instant clientcd ~/.cxoffice/PLSQLDEV/dosdevices/c:/
mkdir -p oracle/network/admin
unzip ~/Downloads/instantclient-basic-win32-11.1.0.7.0
mv instantclient_11_1 oracle/bin
Set some environment variables
Run regedit in the bottle (I did it via the bottle manager).
Create a Key Oracle
in HKEY_LOCAL_MACHINE\Software.
Add String NLS_LANG HKEY_LOCAL_MACHINE\Software\Oracle
with value AMERICAN_AMERICA.AL32UTF8
.
Add bin directory to path and set TNS_ADMIN (so the client finds our tnsnames.ora files for sure).HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
Edit PATH
and add c:\oracle;c:\oracle\bin;
Add String TNS_ADMIN and set it to c:\oracle (yes I place my tnsnames file always in c:\oracle because I usually have multiple installations and want to just maintain one file).
Close regedit.
Create tnsnames.ora file.cat > ~/.cxoffice/PLSQLDEV/dosdevices/c:/oracle/tnsnames.ora <<- EOF
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EOF
Install PL/SQL Developer 11
After everything is prepared just install the software into the bottle (did it again via GUI).