Instalar Oracle 11g Express Edition en Debian/Ubuntu

Imprimir

Empezamos la instalación instalando el kit de desarrollo JDK de Java sino lo tenemos ya instalado. Aquí debemos tener que tomar una decisión sobre que versión vamos a instalar.

En este tutorial vamos a instalar la versión 1.8, que es la actual estable y la razón es que normalmente estas versiones son compatibles con las anteriores anteriores, de tal manera que si tenemos algún software que usa la versión 1.7 lo más seguro es que bajo la versión 1.8 funcione sin problemas.

El caso contrario es que instales un software basado en 1.8 y pretendas ejecutarlo en 1.7, el resultado mas probable es que de inmediato la aplicación falle.



Como pretendo instalar el ultimo Netbeans también en este equipo la ultima versión de este IDE utiliza Java 1.8 , ya yo la había instalado previamente.

Para saber si tenemos Java instalado debemos ejecutar el siguiente comando en la consola del terminal.

java -version

Recordemos que el terminal se invoca pulsando las teclas Ctrl + Alt + t

Aquí vemos que el comando retorna información que indica que java no está instalado y nos sugiere
los paquetes en los cuales se encuentran diferentes versiones.





En esta otra imagen vemos que tenemos instalada la versión 1.8

 

 Utiliza el comando en tu equipo y verifica si tienes Java instalado y que versión

Sino lo tienes instalado sigue este enlace:

Para instalar Java JDK pulsa este enlace.

Una vez que tengamos instalado el Java JDK, vamos a proceder a configurar la variable de entorno JAVA_HOME. Para hacer esto abriremos el archivo /etc/bash.bashrc ejecutando el siguiente comando:

   sudo gedit /etc/bash.bashrc

 



Lo cual abrirá el editor como vemos abajo, vamos hasta el final del archivo y añadimos las siguientes lineas

    export JAVA_HOME=/usr/lib/jvm/java-8-oracle
    export PATH=$JAVA_HOME/bin:$PATH

 



Guardamos el archivo y cerramos el editor. Para cargar los cambios, se ejecuta el siguiente comando:

    source /etc/bash.bashrc



Ahora comprobemos que la variable de entorno a sido configurada correctamente, ejecutando el siguiente comando:

   echo $JAVA_HOME

Lo cual debe mostrar lo siguiente:

   /usr/lib/jvm/java-8-oracle



Ahora si vamos a iniciar la instalación propiamente de Oracle Database Express y para ello pulsamos en el siguiente enlace para ir a la pagina de descarga oficial:


Pulsa aqui para ir a descargar Oracle Database Express Edition 11g Release 2

   

Nos abrirá la siguiente página en donde debemos marcar que aceptamos las condiciones de la licencia "Accept License Agreement". Cuando lo hagamos, desaparecerán los botones y solo quedarán las opciones de los sistema operativos que podemos descargar. Oberva las sub siguientes imágenes.


Vamos a verlo en detalle en la siguientes imágenes. Pulsemos la opción que nos indica el cursor...



... y veremos la siguiente pantalla:


Pulsamos sobre la opción que nos indica el cursor y aquí puede suceder que se nos pida que indiquemos nuestro usuario registrado en Oracle si no hemos iniciado sesión antes en Oracle. Normalmente es eso lo que nos ocurre, o por lo menos a mi.

 

 
 

Escribimos nuestro usuario y contraseña e iniciamos sesión. Si no tenemos un usuario registrado tenemos que crear uno pulsando en crear cuenta. Esos pasos no los voy a indicar aquí.

Iniciamos sesión
 



y se iniciará la descarga o nos pedirá donde guardarla según como tengamos configurado nuestro explorador. Yo configuro el explorador para poder decidir donde quiero la descarga, ya que puedo hacerlo directamente en el sitio que se desea de una vez y no tener que moverlo luego. En este caso lo haré en Descargas, el subdirectorio por defecto que tienen todos los exploradores.

 


Una vez tenemos el archivo descargado vamos a proceder a descomprimirlo en la misma carpeta de Descargas.

Entramos a la consola del sistema mediante Ctrl +Alt + t, y escribimos

cd Descargas


Si no te te sale o da error es que no estas en la carpeta del usuario, y tendras que usar el siguiente comando:

cd /home/nombre_usuario/Descargas

Sustituye el nombre_usuario por el que corresponda, en mi caso josem


Ahora comprobamos el nombre del archivo que descargamos de Oracle, y para ello vamos a listar el contenido del directorio Descargas con el siguiente comando:

    ls ora*
 


El siguiente paso es descomprimir el archivo descargado. Usamos el siguiente comando para hacerlo, usando exactamente el nombre del archivo descargado:

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


El comando anterior creará un subdirectorio llamado Disk1 como vemos en la imagen de abajo


Ahora vamos acceder a esta carpeta mediante el comando:

    cd Disk1


Continuamos listando el contenido de la carpeta, que debe contener un único archivo .rpm y dos carpetas, response y upgrade. Usamos para eso el comando:

    ls


El archivo descargado corresponde al distro Red Hat de Linux y debemos convertirlo de .rpm a .deb de Debian. Esto lo haremos usando el comando alien.


A continuación vamos a instalar un programa convertor alien, y que no viene instalado por defecto en Ubuntu desde la versión 12.10, para ello vamos a correr un update y upgrade para actualizar el sistema, escribimos en la consola:

    sudo apt-get update

y luego

   sudo apt-get upgrade


 Ahora escribimos el comando:

    sudo apt-get install alien
 

Pulsamos S y continuará la instalación

Una vez terminada la instalación de alien, vamos a proceder a convertir el archivo .rpm a .deb, escribimos en la consola:


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

Una vez terminado veremos el mensaje  de generado correctamente

Este proceso tardará algo de tiempo dependiendo de la velocidad del equipo. Mientras podemos seguir adelantando cosas. Para eso abrimos otro terminal de consola.


En Red Hat se utiliza el archivo /sbin/chkconfig, el cual no existe en Ubuntu, para poder instalar Oracle correctamente, vamos a crealo abriendo el editor gedit con el siguiente comando:

    sudo gedit /sbin/chkconfig

Y copiamos y pegamos dentro del archivo, las siguientes lineas:

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


Guardamos el archivo y salimos del editor. Ahora tenemos que asignarle los privilegios de ejecución apropiados, escribiendo en la consola:

    sudo chmod 755 /sbin/chkconfig



Después vamos a crear el archivo /etc/sysctl.d/60-oracle.conf, para poner ciertos parametros del kernel adicionales, usando el siguiente comando:

    sudo gedit /etc/sysctl.d/60-oracle.conf

y vamos a copiar y pegar dentro del mismo las siguientes líneas:

# 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


El último parámetro kernel.shmmax indica el número máximo posible de memoria RAM en bytes, dividiendo 536870912 / 1024 /1024 = 512 MB

Podemos comprobar este archivo ejecutando el siguiente comando:

    sudo cat /etc/sysctl.d/60-oracle.conf

Carguemos los parámetros del kernel, con el comando:

    sudo service procps start

Los cambios podemos verificarlos con el comando:

    sudo sysctl -q fs.file-max

1
sudo sysctl -q fs.file-max
This method should return the following:
1
fs.file-max = 6815744


Luego de esto, ejecutaremos los siguientes comandos, los cuales son necesarios para versiones anteriores al Ubuntu 16.04, como 14.04 y 12.94, para hacer algunos cambios más  que se requieren.

sudo ln -s /usr/bin/awk /bin/awk


sudo mkdir /var/lock/subsys

sudo touch /var/lock/subsys/listener


Vemos en la imagen a continuación los errores que nos pueden salir




 Los mismos no son errores sino que ya los directorios no existen, que van a suceder en la versión 16.04, pero lo mas seguro que no sea así en las versiones anteriores. Con los comandos nos aseguramos que dichas carpetas existan, porque son necesarias para correr Oracle Express

Llegado este momento y teniendo ya el archivo convertido de .rpm a .deb, un archivo llamado oracle-xe_11.2.0-2_amd64.deb tiene que existir en Disk1.

Con el explorador de archivos nautilus podemos verificar eso.


Ahora vamos a proceder a la instalación de Oracle ejecutando el siguiente comando:
    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb


Debemos ejecutar los siguientes comandos para evitar que se nos genere el error ORA-00845:MEMORY_TARGET. Debes reemplazar size=4096m por la cantidad de memoria RAM del equipo en MBs.

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

Aquí vemos que en la versión 16.04 de nuevo que en esta versión se han hecho cambios, que en versiones anteriores de Ubuntu no se habían realizado y que por tanto hay que hacerlas a mano.

Como dije antes no esta demás, repetir la ejecución de estos comandos, ya que con ello constatamos que los mismos se han ejecutado exitosamente previamente, sea por la instalación de Oracle o no.

El errode MEMORY_TARGET es muy común, que salga en estas instalaciones y la manera de evitarlo es escribiéndolo lo indicado mas arriba.

Ahora creamos el archivo S01shm_load en el siguiente directorio /etc/rc2.d/

De nuevo usando el gedit, escribimos:

    sudo gedit /etc/rc2.d/S01shm_load

Copiamos y pegamos lo siguiente dentro del archivo:


#!/bin/sh
case "S1" 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=4096m /dev/shm ;;
*) echo error
exit 1 ;;
esac


Guardamos el archivo, cerramos el editor y asignamos al archivo los privilegios apropiados con el siguiente comando:

    sudo chmod 755 /etc/rc2.d/S01shm_load

Ahora vamos a proceder a configurar el Oracle, para ello escribimos el siguiente comando:

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

Yo utilizo especificamente la direccion de escucha del http en el puerto 10080, en lugar del 8080 para evitar conflictos con servidores como Apache que instalan normalmente por defecto sus servicios con esta configuración.


Dejo por el puerto especificado por defecto por el asistente de la instalación 1521.

Y indico que no deseo que el Oracle arranque una vez que se inicie el equipo, sino que lo arrancaré yo manualmente.

Ya que de parte del que va usar Oracle como la usará y colocar la configuración que más le convenga .

OJO: Es muy importante anotar el password o contraseña, ya que con ella luego podremos acceder a la base de datos. Olvidar el password significa volver a correr el oracle-xe configure


Ahora vamos a configurar varias variables de entorno asignandoles ciertos valores, necesarios para correr nuestro Oracle. Abrimos el archivo /etc/bash.bashrc con gedit.


    sudo gedit /etc/bash.bashrc

Nos desplazamos al final del archivo, y copiamos y pegamos allí las siguientes líneas:

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


Guardamos el archivo y salimos del editor. Escribimos el siguiente comando para cargar los cambios en el sistema mediante el comando:

    source /etc/bash.bashrc

Ahora podemos comprobar que se ha ejecutado correctamente con este comando:

     echo $ORACLE_HOME

 La respuesta del comando de ser igual a la siguiente:

/u01/app/oracle/product/11.2.0/xe


Luego de este paso se debe reiniciar el sistema. Una vez el reinicio del equipo se complete, podemos escribir el siguiente comando en la consola para iniciar el Oracle Express:


     sudo service oracle-xe start
 

NOTA IMPORTANTE.
La instalación de Oracle en ocasiones parece que deja que el servidor arranque al iniciarse el sistema. Puede que el programa de configuración no se ejecute correctamente, y el cual se puede volver a ejecutar.

Para verificar si el servidor Oracle esta funcionando podemos usar el siguiente comando:

    sudo service oracle-xe status

Lo cual debe mostrar algo similar a lo siguiente en caso de estar detenido:

Veremos el circulo en blanco, inactive, sotpping y stopped, en los sitios señalados. Ya el circulo en blanco es suficiente indicador junto con el inactive.

Y algo similar a lo siguiente si el servidor esta iniciado:

Ahora vemos el circulo verde, active, starting y started

Si queremos detener Oracle Express simplemente escribimos en la consola

    sudo service oracle-xe stop

 Si queremos detenerlo y reiniciarlo

    sudo service oracle-xe restart

 Existen otros opciones que no voy a mostrar aqui como enable, enable y force-load.

Hasta aqui la instalación y configuración del Oralce Express.


ACCEDER al Servidor ORACLE

Lo siguiente es acceder a la consola del servidor, para lo cual nuestro servidor debe estar ejecutándose, sino nos saldrá algo como esto:

 Si es tu caso ejecuta desde la consola el comando que mas arriba se muestra y que vuelvo a recordar:

    sudo service oracle-xe start

Ahora para acceder al servidor abrimos buscar del Ubuntu pulsando la llamada tecla windows del teclado (la que esta entre Ctrl y Alt del lado izquierdo del teclado) o buscamos en le menú lateral el icono que es el primero del extremo superior

Escribimos oracle express y tendremos algo similar a lo siguiente

Vemos que el Ubuntu nos muestra un icono el cual representa al Oracle Express 11g, pulsamos sobre el y nos debe salir una pantalla similar a lo siguiente:

Lo cual indicará que nuestro servidor Oracle ya está operativo en nuestro Ubuntu.

 Fuente: https://jmguimera.blogspot.pe/2016/08/como-instalar-y-configurar-oracle-11g.html

 

Tags: , , ,