I wanted to install Oracle XE on my laptop to do some simple Oracle database modeling work, since it gives fairly complete Oracle database functionality without the space and configuration hassle of Enterprise 10G or 11G. However, After going to http://www.oracle.com/technetwork/database/express-edition/downloads/102xelinsoft-102048.html to download the Debian (.deb) package, I discovered there that is no 64-bit version available for Linux! (Windows, surprisingly, is supported in 64-bit). However, it turns out the Linux 32-bit i386 version will work under Ubuntu 64-bit. I followed the steps below to get it installed:

In a terminal session, I ran:

duanecato@ino:~$ cd downloads
duanecato@ino:~/downloads$ sudo dpkg -i –force-architecture oracle-xe_10.2.0.1-1.0_i386.deb
[sudo] password for duanecato:
dpkg: warning: overriding problem because –force enabled:
package architecture (i386) does not match system (amd64)
Selecting previously deselected package oracle-xe.
(Reading database … 266352 files and directories currently installed.)
Unpacking oracle-xe (from oracle-xe_10.2.0.1-1.0_i386.deb) …
dpkg: dependency problems prevent configuration of oracle-xe:
oracle-xe depends on libaio (>= 0.3.96) | libaio1 (>= 0.3.96); however:
Package libaio is not installed.
Package libaio1 is not installed.
dpkg: error processing oracle-xe (–install):
dependency problems – leaving unconfigured
Processing triggers for desktop-file-utils …
Processing triggers for python-gmenu …
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache…
Processing triggers for man-db …
Processing triggers for ureadahead …
ureadahead will be reprofiled on next reboot
Processing triggers for python-support …
Errors were encountered while processing:
oracle-xe
duanecato@ino:~/downloads$ ^C

As seen above, there is a dependency error for  libaio – to resolve this I ran Synaptic, searched for the libaio packages, and installed the dev and shared libraries. I then reran the Oracle XE install:

duanecato@ino:~/downloads$ sudo dpkg -i –force-architecture oracle-xe_10.2.0.1-1.0_i386.deb

dpkg: warning: overriding problem because –force enabled:
package architecture (i386) does not match system (amd64)
(Reading database … 268769 files and directories currently installed.)
Preparing to replace oracle-xe 10.2.0.1-1.0 (using oracle-xe_10.2.0.1-1.0_i386.deb) …
Unpacking replacement oracle-xe …
Setting up oracle-xe (10.2.0.1-1.0) …
update-rc.d: warning: /etc/init.d/oracle-xe missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Executing Post-install steps…
-e You must run ‘/etc/init.d/oracle-xe configure’ as the root user to configure the database.

Processing triggers for desktop-file-utils …
Processing triggers for python-gmenu …
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache…
Processing triggers for man-db …
Processing triggers for ureadahead …
Processing triggers for python-support …

As can be seen from above, the library dependency is now resolved, and I need to complete the configuration by running /etc/init.d/oracle-xe configure as root:

duanecato@ino:~/downloads$ sudo /etc/init.d/oracle-xe configure
[sudo] password for duanecato:

Oracle Database 10g Express Edition Configuration
————————————————-
This will configure on-boot properties of Oracle Database 10g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:

Specify a port that will be used for the database listener [1521]:

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:n

Starting Oracle Net Listener…Done
Configuring Database…Done
Starting Oracle Database 10g Express Edition Instance…Done
Installation Completed Successfully.
To access the Database Home Page go to “http://127.0.0.1:8080/apex”
duanecato@ino:~/downloads$

I took the defaults for everything, and then verified access to the Oracle XE login page in Firefox:

Application Express Login - Mozilla Firefox

Application Express Login - Mozilla Firefox

Oracle  XE - Mozilla Firefox

Oracle XE - Mozilla Firefox

I hope this quick post helps out others who want to do Oracle database development on 64-bit Linux, without going whole-hog on the full Enterprise install of 10G/11G.