Manuel FreeBSD
Précédent | Chapitre 10. Compatibilité binaire avec Linux | Suivant

# 10.6. Installer Oracle®

Contribution de Marcel Moolenaar.

## 10.6.1. Préface

Ce document décrit le processus d'installation d'Oracle® 8.0.5 et d'Oracle 8.0.5.1 Enterprise Edition pour Linux sur une machine FreeBSD.

## 10.6.2. Installer l'environnement Linux

Assurez-vous d'avoir installé les deux logiciels `emulators/linux_base` et `devel/linux_devtools` du catalogue des logiciels portés. Si vous rencontrez des problèmes avec ces logiciels portés, il se peut que vous ayez à utiliser les versions pré-compilées ou des versions plus anciennes disponibles dans le catalogue des logiciels portés.

Si vous désirez installer l'agent intelligent, vous devrez également installer le “package” Red Hat Tcl: `tcl-8.0.3-20.i386.rpm`. La commande générale pour installer des RPMs avec le logiciel RPM (`archivers/rpm`) est:

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

L'installation du `package` ne devrait pas générer d'erreur.

## 10.6.3. Créer l'environnent Oracle

Avant de pouvoir installer Oracle, vous devez configurer un environnement propre. Ce document ne décrit que ce qu'il y a faire spécifiquement pour utiliser Oracle pour Linux sous FreeBSD, et non pas ce qui a été décrit dans le guide d'installation d'Oracle.

### 10.6.3.1. Optimisation du noyau

Comme décrit dans le guide d'installation d'Oracle, vous devez configurer une taille maximale pour la mémoire partagée. Sous FreeBSD n'utilisez pas l'option `SHMMAX`. `SHMMAX` est simplement calculée à partir de `SHMMAXPGS` et `PGSIZE`. Définissez donc l'option `SHMMAXPGS`. Toutes les autres options peuvent être configurées comme décrit dans le guide. Par exemple:

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

Configurez ces options en fonction de l'utilisation prévue d'Oracle.

Assurez-vous également de la présence des options suivantes dans votre fichier de configuration du noyau:

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

### 10.6.3.2. Compte Oracle

Créez un compte `oracle` de la même manière que vous créerez un autre compte utilisateur. Le compte `oracle` n'a de spécial que le fait que vous devez lui donner un interpréteur de commandes Linux. Ajoutez `/compat/linux/bin/bash` au fichier `/etc/shells` et fixez l'interpréteur de commande du compte `oracle` à `/compat/linux/bin/bash`.

### 10.6.3.3. Environnement

En plus des variables d'environnement normales d'Oracle comme `ORACLE_HOME` et `ORACLE_SID` vous devez fixer les variables d'environnement suivantes:

Variable | Valeur
--- | ---
`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`

Il est conseillé de définir toutes les variables d'environnement dans le fichier `.profile`. Un exemple complet est:

    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. Installer Oracle

En raison d'une particularité de l'émulateur Linux, vous devez créer un répertoire appelé `.oracle` dans `/var/tmp` avant de lancer le programme d'installation. Faites en sorte que l'utilisateur `oracle` en soit le propriétaire. Vous devriez être en mesure d'installer Oracle sans problème. Si vous rencontrez cependant des problèmes, contrôlez tout d'abord votre distribution d'Oracle et/ou configuration! Après avoir installé Oracle, appliquez les correctifs décrits dans les deux sous-sections suivantes.

Un problème fréquent est que l'interface au protocole TCP n'est pas correctement installée. Avec comme conséquence l'impossibilité d'écouter le trafic TCP. Les opérations suivantes aident à résoudre ce problème:

    # 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

N'oubliez pas de lancer à nouveau `root.sh`!

### 10.6.4.1. Appliquer un correctif au fichier root.sh

Quand on installe Oracle, certaines opérations, qui doivent être effectuées en tant que `root`, sont enregistrées dans une procédure d'interpréteur de commandes appelée `root.sh`. Cette procédure se trouve dans le répertoire `orainst`. Appliquez le correctif suivant au fichier `root.sh`, pour faire en sorte qu'il utilise le chemin correct pour `chown`, ou exécute une procédure sous un interpréteur de commandes Linux natif.

    *** 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

Quand vous n'installez pas Oracle à partir d'un CD, vous pouvez modifier les sources de `root.sh`. La procédure se nomme `rthd.sh` et se trouve dans le répertoire `orainst` dans l'arborescence des sources.

### 10.6.4.2. Patching genclntsh

La procédure `genclntsh` est utilisée pour créer une simple bibliothèque partagée cliente. Elle est utilisée lors de la construction des démos. Appliquez le correctif suivant pour commenter la définition de la variable d'environnement `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. Exécuter Oracle

Après avoir suivi les instructions précédentes, vous devriez être en mesure d'exécuter Oracle comme si le programme tournait sous Linux.

Précédent | Sommaire | Suivant
Installer MATLAB® | Niveau supérieur | Installer SAP® R/3®

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.