Manual de FreeBSD
Anterior | Capítulo 10. Compatibilidad binaria con Linux | Siguiente

# 10.6. Instalación de Oracle®

Escrito por Marcel Moolenaar.

## 10.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.

## 10.6.2. Instalación del entorno Linux

Debe tener instalados los ports `emulators/linux_base` y `devel/linux_devtools`. 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`. La orden genérica para instalar paquetes con el port oficial de 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.

## 10.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 utilizar la versión de Linux para Oracle FreeBSD, no lo que figura en la guía de instalación de Oracle.

### 10.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áxima 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 describen 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 que 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

### 10.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` `/compat/linux/bin/bash` como shell por omisión.

### 10.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

## 10.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`. Hecho esto deberí poder instalar Oracle sin ningún problema. Si no es así revise su distribución Oracle y 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 ninguna escucha TCP, a las que también se les llama directamente «listeners». 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.

### 10.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`. Se llama `rthd.sh` y está en el directorio `orainst` del árbol de fuentes.

### 10.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

## 10.6.5. Ejecución de Oracle

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

Anterior | Inicio | Siguiente
Instalación de MATLAB® | Subir | Instalación de SAP® R/3®

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.