Instalar Oracle 11g Express Edition en Debian Squeeze 64 bits

1. Introducción

La idea de este artículo es dejar documentado cómo instalar Oracle XE 11g en Debian Squeeze de 64 bits, ya que observé que con la información actual que hay en la red, no es posible hacer una secuencia de acciones en Debian que nos deje tranquilos de que estamos en lo correcto para este Sistema Operativo, esta versión de base de datos y esta arquitectura de procesador.
Por otro lado, asumo que quien lee esto tiene ciertos conocimientos sobre el manejo diario de Debian, ya que no quiero contaminar demasiado el artículo con comandos que más adelante pueden quedar obsoletos, o con explicaciones innecesarias. Por lo que si menciono "Synaptic" asumo que saben lo que es, así como "aptitude", "super usuario", etcétera. Si no lo saben, busquen en la comunidad que mucha documentación existe sobre ello.

Quiero agradecer especialmente a Mike Smithers, y su blog: The Anti-Kyte, que gentilmente me autorizó a tomar como base este tutorial, (bastante más completo, dicho sea de paso), para traducir y tomar gran parte del contenido como base de este artículo.

2. Pasos iniciales

  • Debemos descargar el rpm de la página de Oracle, la versión para linux 64 bits, cuyo nombre es del estilo de oracle-xe-11<*>-amd64.rpm.
  • Verificar que tengamos en nuestro sistema el paquete libaio1. Esto podemos corroborarlo en Synaptic, por ejemplo. En caso de no tenerlo, lo descargamos con aptitude.
  • Tengamos instalado alien, para convertir el paquete rpm en un deb, que luego instalaremos. Si no está en nuestra pc, instalamos también por medio de aptitude

3. Convertir rpm a deb

Una vez verificados estos requisitos, procedemos usar alien para convertir nuestro paquete rpm en deb. Para ello, primero hacemos un unzip en el paquete descargado, en la carpeta que lo tengamos (que luego puede eliminarse). Por ejemplo:

$ unzip oracle-xe-<*>rpm.zip

Observaremos por consola una salida similar a la siguiente:

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

Luego, usamos alien de la siguiente forma, con permisos de superuser:

# sudo alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm

Esto suele tomar unos minutos, para luego mostrarnos un mensaje del estilo de:

oracle-xe_11.2.0-2_amd64.deb generated

4. Últimos detalles antes de instalar

Las siguientes acciones deben realizarse por razones de compatibilidad.

  • Debemos crear el siguiente archivo /sbin/chkconfig:

    #!/bin/bash
    # Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
    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
  • Guardamos el archivo, y le damos los privilegios con chmod 755
  • Por último, generamos los links detallados a continuación, y creamos la carpeta especificada aquí debajo:

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

Ahora sí, podemos proceder a instalar el deb que creamos, con la tranquilidad de que todo lo necesario está listo.

5. Instalación del deb

En modo superuser, ejecutamos lo siguiente:

# sudo dpkg --install ./oracle-xe<*>.deb

Inmediatamente después de que finalice la instalación, es extremadamente recomendable ejecutar lo siguiente:

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

Para poder elegir los puertos y password con los que operaremos Oracle, además de las opciones de inicio.

Con esto tendremos nuestra versión de Oracle instalada en nuestro Debian Squeeze.