Oracle 11g R2 Express Edition en Ubuntu 64-bit

La instalación de ubuntu server 12.04 se las dejo a ustedes, ya que es casi todo ‘siguiente, siguiente, siguiente’, sólo comentarles que en la pantalla de booteo, luego de elegir el idioma de instalación, usé la opción ‘install minimal virtual machine’ (disponible al apretar F4)  y que en el particionado, creé una swap de más de 3Gb (ya que el oracle pide al menos 2Gb de swap, según dicen…). En la selección de software, sólo elegí ‘OpenSSH server’ para poder realizar el resto de los pasos de manera remota.

ub_install02

Bootear, actualizar todo lo que sea necesario (sudo apt-get update; sudo apt-get -u dist-upgrade –yes) y listo.

Para instalar el oracle propiamente dicho, necesitaremos bajar de http://www.oracle.com/technetwork/products/express-edition/downloads/index.html la versión para instalar en Linux de 64 bits.

En el servidor, instalaremos los siguientes paquetes:

sudo apt-get install alien bc libaio1 unixodbc vim zip

descomprimimos el paquete que bajamos de oracle, y lo ‘alienizamos’:

manolo@db-server:~$ unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Archive:  oracle-xe-11.2.0-1.0.x86_64.rpm.zip
creating: Disk1/
creating: Disk1/upgrade/
inflating: Disk1/upgrade/gen_inst.sql
creating: Disk1/response/
inflating: Disk1/response/xe.rsp
inflating: Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm
manolo@db-server:~$ cd Disk1/ ; sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
[sudo] password for manolo:

Una vez alienizado, vamos a crear un ‘fake’ de checkconfig, ya que el oracle lo utiliza, escribimos en el archivo  /sbin/chkconfig

sudo vi /sbin/chkconfig

y copiamos lo siguiente:

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01

chmodeamos:

sudo chmod +x /sbin/chkconfig

 

y cambiamos algunos valores del sistema:

sudo vi /etc/sysctl.d/60-oracle.conf
# Oracle 11g XE kernel parameters
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
kernel.shmmax=536870912

hacemos que tome los cambios:

sudo service procps start

 

Hay que hacer un link para awk (lo busca donde no está, porque está preparado para RH y sus secuaces) y creamos algun directorio para el listener:

sudo ln -s /usr/bin/awk /bin/awk
sudo mkdir /var/lock/subsys
sudo touch /var/lock/subsys/listener

Ahora si, instalamos el paquete que generamos con alien:

sudo dpkg -i oracle-xe_11.2.0-2_amd64.deb

 

Al terminar nos dice que ejecutemos /etc/init.d/oracle-xe configure como root, asique hagámosle caso.

 

Nos va a preguntar puerto http para Oracle Application Express, el puerto del listener, passwd de SYS y SYSTEM, y si queremos que la base de datos arranque en cada booteo.

 

Ya casi estamos. Ahora nos falta configurar decentemente el entorno del usuario, para poder usar la bd sin inconvenientes, agregando en .bashrc lo siguiente:

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

Y listo, ahora ya podés usar el motor de bd recién instalado. Suerte!

Leave a Reply