Howto install Oracle 11XE Beta on Ubuntu 10.04 x64

I have just seen that the new 11G XE beta is out for Windows and Linux x64 and decided to try it out. You can download it at http://www.oracle.com/technetwork/database/express-edition/11gxe-beta-download-302519.html.

Unfortunately there is just an RPM and no DEB file. Here is the way how I achieve to run it on my Ubuntu 10.04 LTS x64.

Create a .deb out of the RPM

I used alien for the conversion, the resulting .deb is not a perfect one but it is a good start:

sudo apt-get install alien
sudo alien -d --scripts oracle-xe-11.2.0-0.5.x86_64.rpm

Installation

Now I tried to install it but I got an error from /var/lib/dpkg/info/oracle-xe.postinst that /sbin/chkconfig does not exist. As I don’t want to have Oracle started automatically on my laptop anyway I have just commented out the whole section of the script:

if [ -f /etc/SuSE-release ]
then
        /usr/lib/lsb/install_initd oracle-xe > /dev/null 2>&1
        /sbin/insserv oracle-xe > /dev/null 2>&1
        /sbin/SuSEconfig > /dev/null 2>&1
#else
#        /sbin/chkconfig --add oracle-xe
fi

then I ran the script again and it went fine:

# sudo /var/lib/dpkg/info/oracle-xe.postinst
Executing post-install steps...


You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.


Additional dependencies

Before doing the configuration I had to install the following dependency (which was not installed by apt-get)

sudo apt-get install libaio1

Sanity checks

Before you proceed I would advice to make some sanity checks and see if the installation was successful

Oracle user and group

grep oracle /etc/passwd
oracle:x:1001:1001::/u01/app/oracle:/bin/bash
grep dba /etc/group
dba:x:1001:

If you don’t see the oracle user or/and the group dba, something went wrong and I would deinstall the package, remove /u01 (sudo rm -rf /u01), create them manually and start the installation again

Check if the placeholder in the init.ora file are correctly replaced

# grep sga /u01/app/oracle/product/11.2.0/xe/config/scripts/init*
/u01/app/oracle/product/11.2.0/xe/config/scripts/init.ora:sga_target=805306368
/u01/app/oracle/product/11.2.0/xe/config/scripts/initXETemp.ora:sga_target=805306368

If you see real numbers there then everything is OK, if you see %sga_target% instead of the numbers then the step with executing /var/lib/dpkg/info/oracle-xe.postinst was not ok

Check the owner and permissions

# ls -latr /u01/app/oracle/product/11.2.0/xe/bin/oracle
-rwsr-s--x 1 oracle dba 178499800 2011-03-23 07:05 /u01/app/oracle/product/11.2.0/xe/bin/oracle

If the owner is not oracle:dba then probably the user and the group were not created correctly so I would create them manually, remove the installation and the files and reinstall again (see further how to create the user and the group

Configure the database

Run

sudo /etc/init.d/oracle-xe configure

It will ask you for a password, ports for the listener and for the APEX server, you can accept the defaults. After some time it will say that everything is fine.

(Optional) Create the oracle user and dba group manually

Create the dba group and oracle user:

sudo /usr/sbin/groupadd dba

 sudo /usr/sbin/useradd -M -g dba -d /u01/app/oracle -s /bin/bash oracle

Create a profile for the oracle user (vi/u01/app/oracle/.bash_profile and put the following settings)

export ORACLE_SID=XE
alias vi='vim'
export ORACLE_BASE=$HOME
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe
export ORACLE_TERM=xterm
export _EDITOR=vim
export NLS_LANG=american_america.utf8
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH

Verify the database

Login with the user oracle and run some select statement

sudo su - oracle
sqlplus / as sysdba

select count(1) from all_objects;

If everything is fine you should get around 17901 objects.

Now you can try APEX too: goto http://localhost:8080/apex (if you have accepted the default port during the installation)

official Documentation

Update

Thanks to the feedback in the comments, it seems that there is a short cut to install chkconfig before you try to install the .deb package.

So here is the short sequence (copied from Kamran’s comment):

$sudo apt-get install alien libaio1 chkconfig
sudo alien -d --scripts oracle-xe-11.2.0-0.5.x86_64.rpm
sudo dpkg -i oracle-xe-11.2.0-0.5.x86_64.rpm
sudo /etc/init.d/oracle-xe configure

if you don’t like to have the oracle-xe started automatically on every boot, you have to disable it:

sudo /sbin/chkconfig oracle-xe off

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*
*

3 × 1 =