Instalar Oracle XE 11g R2 en Ubuntu

Hola a todos, en esta entradas veremos como instalar Oracle XE 11g R2 en Ubuntu, creo esta entrada ya que no había encontrado información sobre su instalación en Español y no solo eso, sino que la instalación es un poco "infierno", y así lo dejo por escrito para mi.

Bueno, antes de nada tengo que deciros que en la versión 11g tiene ya APEX (Aplication Express), si queréis que funcione tal y como muestra en este tutorial, no tenéis que tener apache instalado.

1. Instalación Oracle XE

Oracle XE esta oficialmente soportado para plataformas windows y las distribuciones basadas en Red Hat incluyendo a esta. Las distribuciones Linux basadas en Debian, como es el caso de Ubuntu, no están oficialmente soportadas por lo tanto la instalación sera mucho más dura.

Lo primero de todo es descargarse la versión XE de oracle Download Oracle Database Express Edition 11g R2

 Cuando lo tengamos descargado lo tenemos que descomprimir

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

Esto nos generará una carpeta llamada Disk1

Ahora instalamos los paquetes requeridos para la instalación

apt-get install alien libaio1

Ahora convertimos el paquete .rpm a .deb con alien

cd Disk1
sudo alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm

creamos un archivo /sbin/chkconfig con la siguiente información dentro (es necesario ser root)

#!/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

Damos privilegios al archivo

chmod 755 /sbin/chkconfig

Creamos el archivo /etc/sysctl.d/60-oracle.conf con la siguiente información (necesario ser root)

# Oracle 11g XE kernel parameters
fs.file-max=6815744
kernel.sem=250 32000 100 128
kernel.shmmax=1073741824
net.ipv4.ip_local_port_range=9000 65000

Cargamos los nuevos parámetros del kernel

service procps start

Ejecutamos los siguientes comandos

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

Para evitar los errores de MEMORY_TARGET

rm -rf /dev/shm
mkdir /dev/shm
mount -t tmpfs shmfs -o size=2048m /dev/shm

Creamos el siguiente archivo /etc/rc2.d/S01shm_load con la siguiente información

#!/bin/sh
case "$1" in
start) mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
mount -t tmpfs shmfs -o size=2048m /dev/shm ;;
*) echo error
exit 1 ;;
esac

Le damos permisos al archivo

chmod 755 /etc/rc2.d/S01shm_load

Instalamos el paquete de Oracle XE

dpkg --install oracle-xe_11.2.0-2_amd64.deb

Añadimos las siguientes variables al archivo .bashrc que esta en nuestro directorio de conexión

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

Recargamos el bash del perfil

source ~/.bashrc

Arrancamos la configuración de Oracle XE:

/etc/init.d/oracle-xe configure

Ahora Oracle ya debería estar instalado, si en la configuración de Oracle XE en el puerto http [8080] le pusimos 8080 si cogemos el navegador y ponemos localhost:8080/apex nos debería aparecer una ventana de APEX. La versión por defecto de APEX es la 4.0 para tener la última 4.2 tendrías que quitar esta y poner la nueva, pero eso ya será en otra manual.

Si algo ha salido mal en el proceso de instalación o quieres desinstalarla tienes que seguir estos pasos

sudo -s
/etc/init.d/oracle-xe stop
ps -ef | grep oracle | grep -v grep | awk '{print $2}' | xargs kill
dpkg --purge oracle-xe
rm -r /u01
rm /etc/default/oracle-xe
update-rc.d -f oracle-xe remove

Espero que os guste el manual.

Hasta la próxima entrada.

10 comentarios:

lui dijo...

hola tengo una consulta tu dices que tengo que agregar unas lineas como root al archivo /sbin/chkconfig pero resulta que este archivo tienen codigo Perl dentro y el codigo para agregar es bash ¿como lo hago? saludos

Luistecnologico dijo...

Hola lui.

Tal y como esta escrito en el tutorial, "creamos un archivo /sbin/chkconfig ...." por lo tanto no es agregarle unas lineas, es crear un archivo nuevo.

Según comentas tu ya tienes ese archivo con código Perl, quizás ese archivo lo utilice algún otro programa que tengas instalado, desde luego si utilizas una distribución "limpia" ese archivo no te debería aparecer.

Si te es de interés, te diré que yo la instalación la hice en un Ubuntu 12.04

Unknown dijo...

lo instale y me pude conectar por consola sqlplus, pero el apex no me funciono...
ubuntu 12.04 64 bits y oracle 11g XE

Diego dijo...

Saludos. Termine el tuto con exito pero en la pagina de los credenciales de apex no se que poner...... Cuales son los credenciales???

Luis Ayrton Urbina Saldaña dijo...

cuando reinicio ya no se puede iniciar el servicio de oracle me sale este error, se borra las carpetas /var/lock/subsys
root@laus-HP-430-Notebook-PC:~# sudo service oracle-xe start
Starting Oracle Database 11g Express Edition instance.
touch: cannot touch `/var/lock/subsys/oracle-xe': No such file or directory

baketa dijo...

Muchisimas gracias amigo, me sirvio muchísimo, gracias por compartir tus conociemientos con nosotros.

Unknown dijo...

Como se crea el archivo con el usuario root?

Unknown dijo...

Te lo agradezco me funciono, pase todo el día buscando como hacerlo :3

Unknown dijo...

Brillante el manual de instalación, me funciono de maravilla.
Para crear los archivos pueden usar nano, gedit o vi. Yo uso nano, aun no le agarro el hilo al vi!!!

Anónimo dijo...

A mi me aparecio el Error de

Error "LRM-00116: syntax error at 'sessions' following '='" configurando una DB Oracle 11g XE

Estuve investigando e incluso seteando variables en diversos archivos para forzar la instalacion y sin ningun exito.

SOLUCION:

Buscar en /u01/app/oracle/product/11.2.0/xe/config/scripts los archivos q tengan la variable
memory_target=
y poner
memory_target=1G

Asi puede solucion mi problema, mas detalles aqui donde encontre la solucion
http://desarrolloylinux.blogspot.mx/2015/07/tip-oracle-error-lrm-00116-syntax-error.html

Publicar un comentario