Como Instalar y Configurar Oracle 11gR2
Como instalar Oracle
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, pero esto parece que no sucede con la 1.9.
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 , y 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 (Atl + t para distro Debian y Debian mismo)
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 ya 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
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.
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*
Pro razones de facilidad he dejado aquí este archivo,
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 a los distros basados en Red Hat de Linux, pero eso tiene la extension .rpm y debemos convertirlo de .rpm a .deb para instalaciones de distros basados en 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 libaio1 unixodbc
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
Este proceso tardará algo de tiempo y dependerá de la velocidad del equipo, así que paciencia
Una vez terminado veremos el mensaje de generado correctamente
Mientras alien hace su trabajo 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 gráfico con el siguiente comando:
sudo gedit /sbin/chkconfig
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
#EOFGuardamos 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
Lo cual debe mostrar algo parecido a la siguiente imagen:
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. OJO: siempre hay ejecutarlos, aunque estemos en la versión 16.04, porque actualizaciones posteriores puede que no se creen y terminamos con errores a la hora de configurar Oracle Express.
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 si estas instalando la versión Ubuntu 16.04, sino que estos los directorios o enlaces indirectos no existen en las versiones anteriores, pero en la versión 16.04 si.
Con los comandos anteriores 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 se han hecho cambios, que en versiones anteriores de Ubuntu no se habían realizado y que por tanto hay que hacerlas a mano, para asegurar la instalación y no volvernos locos luego preguntándonos porque no corre el Oracle Express.
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 error de 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
Este comando va a pedir que puerto para el HTTP, Oracle Express va a utilizar. Por defecto el indicara entre corchetes [8080]. Yo recomiendo usar otro puerto.
Yo utilizo específicamente la dirección de escucha del http en el puerto 10080, en lugar del 8080 para evitar conflictos con servidores como Apache que se instalan normalmente por defecto sus servicios con esta configuración.
Luego pide que puerto se utilizará como listener sugiriendo por defecto [1521]
Dejo por el puerto especificado por defecto por el asistente de la instalación 1521.
Finalmente pregunta si el gestor de base de datos Oracle debe iniciarse cuando la maquina se arranque, por defecto se sugiere [y] si. Aquí de nuevo depende del usuario, pero para uso de pruebas y programación en el equipo local lo mas recomendable es que no sea así.
Si no deseo que el Oracle arranque una vez que se inicie el equipo, escribo n.
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 Oracle 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, pero puede que muestre una petición de usuario y contraseña:
Ya con solo pedir la credenciales indicará que nuestro servidor Oracle ya está operativo en nuestro Ubuntu.
Como siempre si detectas algún error u omisión, o hacer una observación o aclaración, por favor deja un comentario, para corregir, cambiar o re-definir los conceptos que sean necesarios. Tus aportes son importantes. Muchas Gracias por visitar mi blog.
Este material forma parte del blog tutorialesjosem.blogspot.com y queda sujeto a autorización para ser publicado, total o parcialmente, en otro blog o página web.
Todos los Derechos Reservados.



































































