Instalación de Oracle 11gR1 x86_64 en Slackware 13.1 x86_64

Después de mucho buscar encontre la información necesaria para poder realizar mi instalación de Oracle en Slackware Linux, la validación de errores presentes en otras distribuciones así como los workarround, me ayudaron a configurar una instalación funcional. Habia encontrado algunos manuales, pero no los he encontrado completos, dado que he encontrado que hace falta información de configuración o paso adicionales que no se documentan, en este proceso de instalación, creo no haber omitido ningun paso del proceso, así que lo iré describiendo paso a paso.

REQUERIMIENTOS:

  1. Instalación de Slackware 13.1 x86_64
  2. libaio (libaio-0.3.109-x86_64-1)

La mayoría de las librerías necesarias ya vienen en la instalación full de Slackware, así que únicamente se requiere validar que libaio se tenga instalada. En otro caso; o si se realizó una instalación personalizada, estos son los requerimientos de software:

  • binutils-2.15.92.0.2
    compat-libstdc++-33-3.2.3
    compat-libstdc++-33-3.2.3 (elfutils-libelf-0.97
    elfutils-libelf-devel-0.97
    gcc-3.4.5
    gcc-c++-3.4.5
    glibc-2.3.4-2.19
    glibc-2.3.4-2.19 (32 bit)
    glibc-common-2.3.4
    glibc-devel-2.3.4
    glibc-devel-2.3.4 (32-bit)
    libaio-0.3.105
    libaio-0.3.105 (32 bit)
    libaio-devel-0.3.105
    libgcc-3.4.5
    libgcc-3.4.5 (32-bit)
    libstdc++-3.4.5
    libstdc++-3.4.5 (32 bit)
    libstdc++-devel 3.4.5
    make-3.80
    sysstat-5.0.5

    binutils-2.15.92.0.2compat-libstdc++-33-3.2.3compat-libstdc++-33-3.2.3 (elfutils-libelf-0.97elfutils-libelf-devel-0.97gcc-3.4.5gcc-c++-3.4.5glibc-2.3.4-2.19glibc-2.3.4-2.19 (32 bit)glibc-common-2.3.4glibc-devel-2.3.4glibc-devel-2.3.4 (32-bit)libaio-0.3.105libaio-0.3.105 (32 bit)libaio-devel-0.3.105libgcc-3.4.5libgcc-3.4.5 (32-bit)libstdc++-3.4.5libstdc++-3.4.5 (32 bit)libstdc++-devel 3.4.5make-3.80sysstat-5.0.5

Y recalcando, las librerías que trae slackware x86_64 son suficientes para poder realizar la instalación.

Instalación de los paquetes de compatibilidad para convertir slackware en un instalación multilib. Esto se explica con más detalle en el siguiente URL y no se dará más detalle al respecto dado que la guía es completa al respecto de ls instalación. (http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib)

Reemplazo de java JRE por JDK (Esto puede varia en tu instalación (nombre y version de java).

[sourcecode language=”bash”]removepkg jre-6u16-x86_64-1
<pre>installpkg /path/to/packages/extra/jdk-6/jdk-6u16-x86_64-1.txz[/sourcecode]

PREPARACION DEL ENTORNO DE INSTALACION

1. crear grupos de trabajo para oracle

2. Crearemos los grupos principales del sistema para poder realizar la instalación, se pueden crear grupos adicionales enfocados a operadores, consultores de db, etc. pero ello es adicional.

[sourcecode language=”bash”]
root@devslackmx:~# groupadd oinstall
root@devslackmx:~# groupadd dba
root@devslackmx:~# groupadd oclients[/sourcecode]

3. Creacion del usuario de Oracle, este usuario puede ser cualquier nombre; no es necesario poner oracle como nombre de usuario.

[sourcecode language=”bash”]root@devslackmx:~# adduser
New account will be created as follows:
—————————————
Login name…….: oraadmin
UID…………..: [ Next available ]
Initial group….: oinstall
Additional groups: dba
Home directory…: /opt/export/home/oraadmin
Shell…………: /bin/bash
Expiry date……: [ Never ]

This is it… if you want to bail out, hit Control-C. Otherwise, press
ENTER to go ahead and make the account.[/sourcecode]

4. Agregar variables del kernel en archivo: /etc/sysctl.conf. (La explicacion a los parametros siguientes se encontraran el la guia de Oracle x64 que anexo al final.

[sourcecode language=”bash”]#!/usr/bin/bash
# Oracle
kernel.shmmax = 536870912
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
[/sourcecode]

5.crear soft link para librerias necesarias dado que Oracle Instaler espera la libreria de gcc en /lib64, y en slack se encuentran en /usr/lib64

[sourcecode language=”bash”]root@devslackmx:~#cd /lib64
root@devslackmx:~#ln -s ../usr/lib64/libgcc_s.so.1
root@devslackmx:~#cd /usr/lib && ln -s /usr/local/lib/libaio.so.0.0.2 libaio.so.1
ln -s /usr/lib64/qt/lib/libqscintilla2.so.5 /usr/lib64/libqscintilla2.so.5[/sourcecode]

6. Crear Directorios de Instalacion (estos pueden elegirse de manera personal en las rutas que se hayan designado,
igualmente no tiene que ser la ruta que se describe.

[sourcecode language=”bash”]mkdir -p /opt/u001/Oracle/app
mkdir -p /opt/u001/Oracle/data[/sourcecode]

7. Asignar permisos a los directorios al Usuario Oracle designado.

[sourcecode language=”bash”]root@devslackmx:/opt# chown -R oraadmin:oinstall u001
root@devslackmx:/opt# chmod -R 775 u001[/sourcecode]

8. Ingresar como usuario oracle (en mi caso oraadmin)
9. En el path ~, se creara un archivo de nombre .oraenv, el cual contendra la siguiente informacion, es necesario que la información que cambie del profile siguiente sea unicamente el ORACLE_BASE que se correspondera con el path definido en el paso 6, no omitir ningun parametro, dado que ya se intentó anteriormente solo asignar los parametros básicos (ORACLE_HOME, ORACLE_BASE y ORACLE_SID) y se encontraron problemas en la instalación; por lo que la sugerencia es no omitir ninguno.

[sourcecode language=”bash”]#!/usr/bin/bash
# see http://www.puschitz.com/InstallingOracle9i.html
export ORACLE_BASE=/opt/u001/Oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=desarrollo
export ORACLE_TERM=xterm

#export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin

CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH[/sourcecode]

Con esto, es posible asignar un archivo de profile a todos los usuarios que se les permitirá accesar a oracle, es importante que los mismos se encuentren en el grupo con permisos en las carpetas de oracle, de lo contrario aunque tengan las variables de entorno de oracle, no podrán utilizarlo.

10. Asignar en el archivo /etc/profile la validacion de existencia del archivo .oraenv en el $HOME del usuario para asignar las variables de Oracle.

[sourcecode language=”bash”] #Asigna los parametros ingresados en el archivo .oraenv del $HOME
if [ -f $HOME/.oraenv ]; then
. $HOME/.oraenv
fi[/sourcecode]

Esta validación es con el fin de que las variables de entorno le sean asignadas al usuario si cuenta con el archivo .oraenv en su home.

11. Crear archivo de redhat_release en /etc/redhat-release con la siguiente info

[sourcecode language=”bash”]root@devslackmx:/opt# echo "Red Hat Enterprise Linux AS release 4 (Nahant Update 3)" > /etc/redhat-release[/sourcecode]

12. Ingresar nuevamente con el usuario de oracle, obtener archivo comprimido de instalacion (oracle.com).

13. descomprimir archivo de instalación.

[sourcecode language=”bash”]oraadmin@devslackmx:~$ gunzip 10201_database_linux_x86_64.cpio.gz
oraadmin@devslackmx:~$ cpio -idmv < 10201_database_linux_x86_64.cpio [/sourcecode]

14. Ingresar en la carpeta de oracle que descomprimimos, para cambiar la utileria zip, dado que al parecer la misma que trae oracle no funciona aun ccuando las librerias multilib ya existen.

[sourcecode language=”bash”]#oraadmin@devslackmx:~/database/install$ cd /opt/export/oracle/database/install/
#oraadmin@devslackmx:~/database/install$ mv unzip unzip.bkp
#oraadmin@devslackmx:~/database/install$ ln -s /usr/bin/unzip unzip[/sourcecode]

15. Para finalizar de preparar nuestro entorno de instalación, ejecutaremos los siguientes comandos:

[sourcecode language=”bash”]ldconfig
depmod -a[/sourcecode]

INSTALACION DE ORACLE.

1. Ingresar en la ruta donde se extrajeron los archivos de instalación, y ejecutar el comando runInstaller -ignoreSysPrereqs

2. Nos envia a la pantalla de bienvenida, damos clic en siguiente.

3. Nos solicita especificar el directorio de inventario, este ya vendrá por default, especificar el grupo del sistema operativo con permisos en las rutas de Oracle.

4. Seleccionar los lenguajes que se requieran en el boton de Product Languages…, y seleccionar la opción de instalación CUSTOM.

5. La siguiente pantalla nos solicitara los paths de instalación, los mismos ya deberan reflejarse de acuerdo a lo que configuramos en el profile del usuario. Damos clic en Siguiente (en caso de ya estar correctos).

6. El instalador validará los requisitos de instalación, si todo se encuentra correcto, solo veremos un error debido a la instalación de glibc mayor a la que requiere Oracle, seleccionamos la opción y aparecerá User Verified, y damos clic en Retry, para que lo valide nuevamente, con esto ya deberemos tener habilitado el botón de SIGUIENTE. (NEXT).

7. La pantalla siguiente ya será la correspondiente al resumen de lo que OracleInstaller incluira en la instalación. Nos desplazamos en las opciones.

8. Seleccionamos la opción Oracle Connection Manager, y damos clic en NEXT.

9. Nos solicitara los grupos con privilegios del Sistema Operativo para Oracle, seleccionamos los grupos de acuerdo a los que creamos en el paso 2 de la sección “Preparando el entorno de Instalación” y damos clic en NEXT.

10. Seleccionaremos la Opción (Install database Software Only), dado que si se continua una instalación normal encontraremos varios errores de instalación que al final probocarán un rollback en la instalación y esta no termina, por lo que la recomendación es de seleccionar esta opción y posteriormente agregar lo que necesitamos mediante línea de Comandos. Damos clic en NEXT.

11. Ya habiendo cumplido los requisitos de configuración e instalación nos pasa a la pantalla de resumen de la instalación, Configuración Global, Lenguajes, Requerimientos de Espacio a utilizar y lo que se instalará, damos clic en NEXT.

12. Se inicia el proceso de instalación, a prepararnos un coffe y esperar a los siguientes pasos.

13. El primer error de instalación se nos presenta, este bien podemos ya ignorarlo, y dar clic en CONTINUE, el workarround para la corrección de este error se encuentra en el siguiente Link y detalla el porque se presenta (http://www.puschitz.com/InstallingOracle9i.shtml#OracleInstallationProblemsTipsAndHints). Ya no es necesario aplicar este workarround en nuestro sistema operativo.

14. Se nos presenta el segundo error, igualmente podemos ignorarlo, también este error tiene su workarround en el link anterior. Damos clic en CONTINUE.

15. Una vez pasado cierto tiempo, ya veremos el mensaje de ejecución de scripts de configuración como ROOT

16. Abrimos una terminal y accesamos como root, copiamos el primer script y lo ejecutamos así también el segundo, ya vez finalizado damos clic en OK de la imagen anterior.

17. Pasa otro tiempo más y porfin el proceso de instalación ha terminado, damos clic en EXIT. (Solamente la instalación del software necesario, sin embargo no tenemos base de datos ni conexiones aún).

Configuración del Listener para Oracle

En los siguientes pasos, crearemos ya las herramientas necesarias para tener un oracle Funcional, el primer paso es crear el Listener que necesitaremos, el siguiente paso será crear la Base de datos.

1. En la consola de comandos ejecutar el siguiente comando:

[sourcecode language=”bash”]netca[/sourcecode]

Nos presentara una pantalla de configuración para la red de Oracle, seleccionaremos la opción “Listener Configuration” y damos clic en siguiente.

2. Solo tendremos 1 opción en la siguiente pantalla dado que no existe un listener asociado, damos clic en NEXT.

3. Nos pide que ingresemos un nombre para el Listener, dado que solo realizaremos una instalación de oracle, dejamos el nombre por defecto y damos clic en NEXT.

4. Nos solicita el protocolo de conexion que utillizaremos, dejamos en que nos da por defecto, y damos clic en NEXT.

5. Podemos usar el puerto standar, o personalizar el puerto que necesitamos, lo configuramos de acuerdo a nuestros requerimientos y damos clic en Siguiente.

6. El listener se ha configurado, nos pregunta si queremos configurar otro, decimos que no damos clic en NEXT.

7. Damos clic en NEXT a las siguiente pantalla

8. Damos clic en Finish.

9. La instalación del Listener ya terminado.

CREACION DE LA NUEVA BASE DE DATOS.

El siguiente paso a la creación del listener, es configurar la base de datos la cual utilizaremos, para ello continuaremos trabajando en nuestra terminal de acuerdo a los siguientes pasos:

1. Ejecutar el comando siguiente

[sourcecode language=”bash”]dbca[/sourcecode]

Ingresaremos a la pantalla del asistente de configuración de base de datos, damos clic en NEXT.

2. Seleccionamos la opción de “Create a Database” y damos clic en NEXT.

3. Nos permite seleccionar el tipo de base de datos que queremos, o si sera una base personalizada, seleccionamos la opción que requieramos, y damos clic en NEXT.

4. Asignamos el nombre que le queremos dar a nuestra base de datos, dado que no nos encontramos en un dominio asignamos el mismo nombre tanto a Gobal Database Name y SID. Damos clic en NEXT.

5. En la siguiente opción podemos configurar el Enterprise Manager para administrar nuestra base de datos vía http. Seleccionamos “Configure Enterprise Manager” y la opción adicional que requieramos si es el caso y damos clic en NEXT.

6. Asignamos los passwords a los usuarios Administrativos, es importante tener distintos passwords y no asignar el mismo esto con el fin de dar seguridad a nuestro ambiente. Damos clic en NEXT.

7. Nos permite seleccionar el mecanismo de Storage que utilizara nuestra base de datos, dado que la instalación es en una maquina virtual, la opción valida en mi caso es File System, de acuerdo a la instalación que se utilice puede seleccionarse las demas opciónes (mas enfocadas a servidores con clusters). Damos clic en NEXT.

8. Seleccionamos la ubicación de los archivos de base de datos, dejamos la opción por defecto, o personalizamos la opción de acuerdo a nuestras necesidades. Damos clic en NEXT.

9. Seleccionamos las opciones de Recuperación, es importante seleccionar esta parte, dado que si somos de los clasicos que apagamos el equipo sin dar de baja los servicios (ya sea manual o de forma automática), podremos tener problemas en la base de datos, y dañarla, así que es mejor contar con un Area de Recuperación. Damos clic en NEXT.

10. Seleccionamos los esquemas de ejemplo si los requerimos, en otro caso, deseleccionamos esta opción. Damos clic en NEXT.

11. Las siguientes pantallas se corresponden con las opciones de los Parametros de Configuración como Memoria, juego de Caracteres, Numero de Procesos concurrentes así como el tipo de conexión del servidor, personalizamos estas opciones de acuerdo a nuestros requerimientos y damos clic en NEXT (pongo como ejemplo la selección en mi instalación).

12.Lo siguiente es elegir la configuración de Seguridad, dejamos la selección por default y damos en NEXT.

13. Las tareas de Mantenimiento se pueden dejar deshabilitadas, si no es un servidor, o dejarse habilitadas para evitar el uso de CPU durante el tiempo de ejecución. Queda a su elección. Damos clic en NEXT.

14. La asignación de espacio de Almacenamiento no la tocaremos aunque pueden personalizarse si así lo requieren (datafiles, redo logs, etc), así que solamente daremos clic en NEXT.

15. En la siguiente pantalla unicamente seleccionaremos la opción CREATE DATABASE, y damos clic en NEXT.

16. En la pantalla de confirmación damos clic en OK y en NEXT.

17. Se inicia el proceso de creación de la Base de datos que se definió, esperaremos un tiempo (mientras otro coffe).

18. Una vez finalizado el sistema nos manda el detalle de la instalación, la ruta de los logs de instalación, así como el SID, y el nombre global, como el URL de conexión a Enterprise Manager, igualmente podemos modificar nuevamente los usuarios administrativos desde el boton de PASSWORD MANAGEMENT si así se requiere. Damos clic en EXIT y FINISH.

19. Validamos que la base de datos así como Enterprise se encuentran activos accesando a la URL anterior, con el usuario administrativo system.

20. Una vez accesando, ya podremos identificar los datos principales de nuestro entorno de Base de datos como el Host, Listener, Sesiones activas, Uso de CPU, etc. Por lo que nuestra instalación ha finalizado satisfactoriamente.

Un tema a aclarar, es que encontraremos un detalle, que aún no he resuelto, pero de acuerdo a los DBAs, solo requiere un tuning a la base de datos, es que una vez iniciados los procesos vemos un aumento constante en el Uso de CPU, que posiblemente sea tema de otro post, por lo pronto hemos terminado con la instalación y configuración que es la intensión del post.

Saludos.

Dudas, comentarios y Sugerencias serán bienvenidos.

URLS donde se obtuvo la información para poder realizar la instalación:

http://www.vislab.uq.edu.au/ag3/slackware/howto/oracle.html

https://rebby.com/projects.php?detail=slack&item=ora10gr2

http://download.oracle.com/docs/cd/B28359_01/install.111/b32068/post_inst_task.htm#BJFBEHCD

http://www.puschitz.com/InstallingOracle9i.shtml#OracleInstallationProblemsTipsAndHints <<– Para mi la mejor web en cuanto a dudas, workarrounds y detalles de errores de Oracle en general.

http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib

http://compat32pkg.sourceforge.net/documentation.html

Manuales:

LinuxOraclex64 LinuxOracle

1 comentario en “Instalación de Oracle 11gR1 x86_64 en Slackware 13.1 x86_64”

  1. La instalación de 10g R2 es igual, solo omitiendo los pasos que se corresponden con las librerías de una distribución x86_64.
    posteriormente actualizaré el documento con los pasos para 32 bits.
    También para Slackware 13.37.
    Quien dice que Slack es dificil, simplemente hay que tomar el gusto por aprender.
    jejjjejje

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *