Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The title itself is more than self explanatory. I simply need a way to install Oracle's 11g R2 in the latest version of Ubuntu, I'm using a 32-bit OS, and I need to know how to install the x86 version. I also have a 64 bit desktop and I need the install the x86_64 version. Can anyone help me?

share|improve this question
does this work:… ? – Rinzwind Jul 26 '12 at 18:41
otherwise this one:… – Rinzwind Jul 26 '12 at 18:43
Actually, just posting and answering a question that in the past had vague answers, without much helpful support. Thank you so much helping though! Upvotes for you! – etsr Jul 26 '12 at 18:59
up vote 6 down vote accepted

For Oracle 11g R2, there are some extras that should be installed because they aren't provided by default. But we'll get to those in a second, and a lot of them aren't fully necessary but they'll make it easier. (Such as ssh!)

NOTE: All terminal commands can be copied and pasted however pasting in terminal requires the keystroke ctrl + shift + v, anywhere else ctrl + v can be used instead.

Now here are the files, separating into two parts and in .zip format. This is for x86. You should be able to open them without issue and if you don't there is an unzip utility on the site. The unzip utility download wouldn't load on my end so an alternate would be to open terminal using ctrl + alt + t, and enter the following commands.

sudo apt-get install unzip


unzip {file}

Of course replacing {File} with the .zip archive.

NOW you can follow the install instructions by Oracle linked here when installing the x86 version for the laptop.

Now when using the desktop and the x86_64 OS, you can find the installation files here applying the same unzip method as above. Honestly you shouldn't have a problem with the Ubuntu default, but again, Linux isn't always what it seems, so having a backup is always good.

Now for a quick an easy installation guide, this is x86.

The same installation guide is available for x86_64 found here.

The process isn't too long as long as you know your current computer specs, a lot of the instructions are mainly forced check if your system meets x requirment.


share|improve this answer

I got past your error. Best I can tell, the error was that it was hitting -lons instead of -leons. I have no idea what either of them are but removing -lons and putting in -leons seemed to do the trick. What I ended up doing was compiling the error-ed out parts by hand. Here's what I did by hand but you'll have to change the paths to match yours (I did it as root):

# cat sysliblist 
-ldl -lm -lpthread -lnsl -lirc -lipgo -lsvml -lnnz11 -lclntsh -locrb11 -lasmclnt11 -leons

# cat ldflags
-lnbeq11 -lnhost11 -lnus11 -lnldap11 -lldapclnt11  -lnsslb11   -lntcp11 -lntcps11 -lnsslb11 -lntcp11 -lntns11

gcc -o tnslsnr -m64 -L/database/app/oracle/product/11.2.0/dbhome_1/network/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/stubs/  /database/app/oracle/product/11.2.0/dbhome_1/network/lib/s0nsgl.o /database/app/oracle/product/11.2.0/dbhome_1/network/lib/snsglp.o -lclntsh  `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`  -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11   -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11   `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/lib,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/network/lib/ -lm    `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm   -L/database/app/oracle/product/11.2.0/dbhome_1/lib -lnl11  -ln11 -lnlsnr11 -lnlsnrc11 -lnsgr11 -lnms -lncm11 -lnmsp -lpeer -lnro11 -ln11   -lnl11 -lnlsnr11 -lnlsnrc11 -lnms -lncm11 -lnmsp -ln11     -lm -leons

Once that compiles properly, you have to edit the makefile to avoid it trying to recompile it and breaking what you just built. Make network/lib/ look like this:

#tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP)
#       $(SILENT)$(ECHO) " - Linking $(TNSLSNR)"
#       $(RMF) $@

#itnslsnr: tnslsnr

That's just going to get rid of the tnslsnr piece but allow the rest to go.

The next piece I got to that broke was when it was linking 'oracle'. I got this error:

INFO: /database/app/oracle/product/11.2.0/dbhome_1/lib// undefined reference to `lfifcp'

Same thing with this one. I ran this by hand:

gcc  -o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/oracle -m64 -L/database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/stubs/   -Wl,-E /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/opimai.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ssoraed.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv11 -Wl,--no-whole-archive /database/app/oracle/product/11.2.0/dbhome_1/lib/nautab.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naeet.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naect.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naedhs.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/config.o  -lclntsh -lserver11 -lodm11 -lcell11 -lnnet11 -lskgxp11 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11  -lvsn11 -lcommon11 -lgeneric11 -lknlopt `if /usr/bin/ar tv /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap11" ; fi` -lslax11 -lpls11  -lrt -lplp11 -lserver11 -lclient11  -lvsn11 -lcommon11 -lgeneric11 `if [ -f /database/app/oracle/product/11.2.0/dbhome_1/lib/libavserver11.a ] ; then echo "-lavserver11" ; else echo "-lavstub11"; fi` `if [ -f /database/app/oracle/product/11.2.0/dbhome_1/lib/libavclient11.a ] ; then echo "-lavclient11" ; fi` -lknlopt -lslax11 -lpls11  -lrt -lplp11 -ljavavm11 -lserver11  -lwwg  `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lmm -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11   -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if /usr/bin/ar tv /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo11"; fi` -L/database/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 -lgx11 -lordimt11 -lclsra11 -ldbcfg11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -locr11 -locrb11 -locrutl11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -lasmclnt11 -lcommon11 -lcell11 -lskgxp11 -lgeneric11  -lcommon11 -lgeneric11  -loraz -llzopro -lorabz2 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lsnls11 -lunls11  -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lasmclnt11 -laio    `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/lib -lm    `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm   -L/database/app/oracle/product/11.2.0/dbhome_1/lib

Then you have to hack up rdbms/lib/ to comment out lines 705 & 706:

#       $(RMF) $@

After that, the installer went all the way through. Hope this helps.

share|improve this answer
Cool, I added a link on how to fix the makefiles. – WitchCraft Jan 1 '12 at 19:17

This is the definitive answer:

Read the comments - there is an error in it (wrong filename).

share|improve this answer

Please try below article. It might help you. Install Oracle 11g on Ubuntu

share|improve this answer
Could you please include the explanation in your answer rather than only linking it? – N.N. Dec 29 '11 at 17:27

You can follow this howto for ubuntu 12.04 Pangolin. Also work for 11.10

This howto describes many of encountered errors and provides work around/solution for each of them.

Install Oracle 11g on ubuntu

share|improve this answer

Add some additional tips from How to install Oracle 11g on Linux (non-VM)

Install Oracle Database XE (Express Edition) from Oracle Open Source Software APT repository

If you don't mind using 10g XE version (good enough for learning purpose), you can add the Oracle Open Source Software APT repository and use apt-get to install it.

Add deb unstable main non-free


echo "deb unstable main non-free" | sudo tee /etc/apt/sources.list.d/virtualbox.list

and then

add the key and install oracle-xe

wget  -O- | sudo apt-key add -
apt-get update && apt-get install oracle-xe

Start, stop and configure: /etc/init.d/oracle-xe {start|stop|configure}

See Installing Oracle Database XE on Debian, Ubuntu, and Kubuntu for more;-)

Vagrant Base Boxes

Oracle Linux {5,6} (which is free as well) make it much easier to install Oracle Database 11g, 12c as Oracle officially provides pre-install RPM packages to install all deps and make necessary changes to the system.

Pre-install RPM packages

  • Oracle Linux 5 => oracle-validated
  • Oracle Linux 6 => 11g oracle-rdbms-server-11gR2-preinstall 12c oracle-rdbms-server-12cR1-preinstall

If you really want Oracle Database 11g, 12c Enterprise Edition, try the vagrantboxes from here vagrantboxes

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.