12.6. Instalación de Oracle®

Escrito por Marcel Moolenaar.

12.6.1. Prefacio

Este texto describe el proceso de instalación de Oracle® 8.0.5 y Oracle 8.0.5.1 Enterprise Edition para Linux en una máquina FreeBSD.

12.6.2. Instalación del entorno Linux

Debe tener instalados los ports emulators/linux_base y devel/linux_devtools desde Si tiene dificultades con estos ports es posible que tenga que usar los paquetes o quizás versiones más antiguas de dichas aplicaciones que encontrará en la colección de ports.

Si quiere usar el agente inteligente también tendrá que instalar el paquete Tcl de Red Hat, tcl-8.0.3-20.i386.rpm. El comando genérico para instalar paquetes con el port oficial RPM (archivers/rpm) es:

# rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm paquete

La instalación de dicho paquete no debe generar ningún error.

12.6.3. Creación del entorno Oracle

Antes de instalar Oracle, tendrá que configurar un entorno apropiado. Este documento solamente explica lo que hay que hacer especialmente para utilizaa la versión de Linux para Oracle en FreeBSD, no lo que figura en la guía de instalación de Oracle.

12.6.3.1. Personalización del kernel

Tal y como consta en la guía de instalación de Oracle, debe configurar la cantidad máximo de memoria compartida. No utilice SHMMAX en FreeBSD. SHMMAX se calcula a partir de SHMMAXPGS y PGSIZE, así que defina SHMMAXPGS. Todas las demás opciones pueden usarse tal y como se describe en la guía. Por ejemplo:

options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61

Configure estas opciones para que se ajusten al uso que pretenda darle a Oracle.

Asegúrese también de las siguientes opciones están en el fichero de configuración de su kernel:

options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communication

12.6.3.2. Cuenta Oracle

Crée una cuenta oracle según el procedimiento habitual de creación de usuarios. La cuenta oracle, empero, tiene algo especial, puesto que debe teer una shell de Linux. Añada /compat/linux/bin/bash a /etc/shells y asigne a la cuenta oracle lo siguiente /compat/linux/bin/bash como shell por defecto.

12.6.3.3. Entorno

Además de las variables normales para Oracle, como ORACLE_HOME y ORACLE_SID, debe configurar las siguientes variables de entorno:

Variable Valor
LD_LIBRARY_PATH $ORACLE_HOME/lib
CLASSPATH $ORACLE_HOME/jdbc/lib/classes111.zip
PATH /compat/linux/bin /compat/linux/sbin /compat/linux/usr/bin /compat/linux/usr/sbin /bin /sbin /usr/bin /usr/sbin /usr/local/bin $ORACLE_HOME/bin

Le aconsejamos configurar todas las variables de entorno en .profile. Veamos un ejemplo completo:

ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATH

12.6.4. Instalación de Oracle

Debido a una pequeña inconsistencia en el emulador Linux tendrá que crear un directorio llamado .oracle en /var/tmp antes de iniciar el instalador. Haga que sea propiedad del usuario oracle. Ahora deberí poder instalar Oracle sin ningún problema. Si no es así revise su distribución Oracle y/o su configuración. Una vez finalizada la instalación de Oracle, aplique los parches que se detallan en las dos siguientes subsecciones.

Un problema que se da con una cierta frecuencia es que el adaptador del protocolo TCP no está correctamente instalado. Como consecuencia, no puede iniciarse ningún escucha TCP. Esto le ayudará a resolver el problema:

# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk ntcontab.o
# cd $ORACLE_HOME/lib
# ar r libnetwork.a ntcontab.o
# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk install

No se olvide de ejecutar root.sh de nuevo

12.6.4.1. Cómo parchear root.sh

Durante la instalación de Oracle algunas acciones que requieren ser ejecutadas como root deben almacenarse en un “script” de shell llamado root.sh. Dicho “script” está en el directorio orainst. Aplique el siguiente parche a root.sh para que utilice la ruta correcta de chown o ejecute el “script” bajo una shell nativa de Linux.

*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this script

Si no está instalando Oracle desde un CD puede parchear las fuentes de root.sh. Es rthd.sh y está en el directorio orainst, en el árbol de fuentes.

12.6.4.2. Cómo parchear genclntsh

El “script” genclntsh se usa para crear una biblioteca de cliente compartida y para construir los demos. Al aplicar el siguiente parche comentará la definición de PATH:

*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst

12.6.5. Ejecución de Oracle

Una vez seguidas estas instrucciones podrá ejecutar Oracle como si la hubiera instalado Linux.

Éste y otros documentos pueden obtenerse en ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para preguntas acerca de FreeBSD, leer la documentación antes de contactar con la lista <questions@FreeBSD.org>.
Para preguntas acerca de esta documentación, e-mail a <doc@FreeBSD.org>.