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.rpmLuego, 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.