Martin Kováčik
<< back to tutorials

Installation of Oracle 10g Express Edition

This tutorial is based on http://www.ubuntuforums.org/showthread.php?t=85513

Oracle XE can be found at http://www.oracle.com/technology/software/products/database/xe/index.html . Redhat package is provided there.

I installed Oracle XE on Ubuntu Breezy 5.10. I have all updates that were released till 16. of February.

Alien program is required to convert rpm version of Oracle XE package to debian package. It can be obtained from standart repository.
apt-get install alien
alien -c oracle-xe-10.2.0.1-0.1.i386.rpm

In case you don't want to run alien as root, you can use fakeroot program. It can be also obtained from standart repository.

Oracle requires libaio library.

apt-get install libaio

Probably dev version of this library would not be necessity, but I didn't tried it. If you want's to be sure, you can fetch 'libaio-dev' as well.

apt-get install libaio-dev

Now you are ready to install oracle package.

dpkg -i oracle-xe_10.2.0.1-1.1_i386.deb

After this step you need to hack your system a bit to look like RedHat for Oracle. Create file functions into /etc/init.d directory. functions file contents follows:

success () 
{
   echo " [OK]"
}
failure ()
{
   echo " [FAILED]" 
}

Another necessary file is '/sbin/chkconfig':

#!/bin/sh
logger -t $0 "called with args $*"

You need to make both files executable:

chmod +x /sbin/chkconfig
chmod +x /etc/init.d/functions

If you wan't to see some message that might help you tracing errors during Oracle startup, you need to remove to null redirects from /etc/init.d/oracle-xe:

sed -i 's|> */dev/null|## > /dev/null|' /etc/init.d/oracle-xe

After this step we can run configuration of Oracle. This can be done by running '/etc/init.d/oracle-xe' script with configure parameter.

/etc/init.d/oracle-xe configure

Now you have running Oracle on your Ubuntu. Only step that lefts is trying to connect to Oracle instance. You need to set some environment variables:

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
ORACLE_OWNER=oraclexe
ORACLE_SID=XE
export ORACLE_HOME
export ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH

This code can be placed into /etc/profile if you are using Kubuntu. Gnome handles profile file bit strange. So if you wan't to use some console emulator under Gnome place variables definition into /etc/environment file. Environment file is not ordinary shell script, so given PATH definition might be bit tricky. You need to give there full PATH, or set PATH variable somehow else.

After this step you can run sqlplus command:

sqlplus sys as sysdba

HTMLDB should be running and available on http://localhost:8080/htmldb by default.

If you want to make Oracle start every time your computer boots run

update-rc.d oracle-xe defaults