22.5. Oracle installieren

Beigetragen von Marcel Moolenaar.

22.5.1. Übersicht

Dieses Dokument beschreibt die Installation von Oracle 8.0.5 und Oracle 8.0.5.1 Enterprise Edition für Linux auf einem FreeBSD-Rechner.

22.5.2. Installation der Linux-Umgebung

Stellen Sie sicher, dass Sie linux_base und linux_devtools (aus der Ports-Sammlung) installiert haben. Diese Ports wurden nach der Veröffentlichung von FreeBSD 3.2 hinzugefügt. Wenn Sie FreeBSD 3.2 oder eine ältere Version verwenden, aktualisieren Sie Ihre Ports-Sammlung. Sie könnten auch in Betracht ziehen, Ihre FreeBSD-Version zu aktualisieren. Wenn linux_base-6.1 oder linux_devtools-6.1 Probleme verursachen, kann es sein, dass Sie Version 5.2 dieser Pakete verwenden müssen.

Wenn Sie den Intelligent Agent verwenden wollen, müssen Sie zusätzlich das RedHat Tcl-Paket installieren: tcl-8.0.3-20.i386.rpm. Die allgemeine Form des Befehls, um Pakete mit dem offiziellen RPM-Port zu installieren, lautet:

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

Die Installation dieses Paketes sollte ohne Fehlermeldung ablaufen.

22.5.3. Die Oracle Umgebung erzeugen

Bevor Sie Oracle installieren können, müssen Sie eine entsprechende Umgebung erzeugen. Dieses Dokument beschreibt nur, was Sie im Speziellen tun müssen, um die Linux-Version von Oracle unter FreeBSD zu installieren, nicht aber, was bereits in der Installationsanleitung von Oracle beschrieben wird.

22.5.3.1. Kernel Tuning

Wie in der Oracle Installationsanleitung beschrieben, müssen Sie die maximale Shared-Memory Größe festlegen. Verwenden Sie SHMMAX nicht unter FreeBSD. SHMMAX wird lediglich aus SHMMAXPGS und PGSIZE berechnet. Definieren Sie stattdessen SHMMAXPGS. Alle anderen Optionen können wie in der Anleitung beschrieben verwendet werden. Zum Beispiel:

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

Passen Sie diese Optionen entsprechend dem von Ihnen gewünschten Einsatzzweck von Oracle an.

Stellen Sie außerdem sicher, dass Sie folgende Optionen in Ihren Kernel kompilieren:

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

22.5.3.2. Oracle-Benutzer anlegen

Legen Sie einen Oracle-Benutzerzugang an. Dies funktioniert genauso wie für jeden anderen Zugang auch. Der Oracle-Zugang hat allerdings die Besonderheit, dass er eine Linux-Shell zugeordnet bekommen muss. Fügen Sie daher /compat/linux/bin/bash in die Datei /etc/shells ein und setzen Sie die Shell für den Oracle-Benutzerzugang auf /compat/linux/bin/bash.

22.5.3.3. Umgebung

Neben den normalen Oracle-Variablen, wie z.B. ORACLE_HOME und ORACLE_SID müssen Sie die folgenden Variablen setzen:

Variable Wert
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

Es ist empfehlenswert, alle Variablen in der Datei .profile zu setzen. Ein komplettes Beispiel sieht folgendermaßen aus:

    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

22.5.4. Oracle installieren

Auf Grund einer kleinen Unregelmäßigkeit im Linux-``Emulator'' müssen Sie das Verzeichnis .oracle unter /var/tmp erzeugen, bevor Sie das Installationsprogramm starten. Machen Sie es entweder für alle Benutzer schreibbar oder belassen Sie den Oracle-Benutzer als Eigentümer. Sie sollten Oracle nun ohne Probleme installieren können. Treten dennoch Probleme auf, überprüfen Sie zuerst Ihre Oracle-Dateien und/oder Ihre Konfiguration. Nachdem Sie Oracle erfolgreich installiert haben, installieren Sie die Patches wie in den zwei folgenden Abschnitten beschrieben:

Ein häufiges Problem ist, dass der TCP Protokoll-Adapter nicht korrekt installiert wird. Daraus folgt, dass Sie keine TCP Listener starten können. Dieses Problem kann durch folgende Schritte behoben werden:

    # 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

Vergessen Sie nicht, root.sh nochmals auszuführen!

22.5.4.1. root.sh patchen

Während der Oracle-Installation werden einige Aktionen, die als root ausgeführt werden müssen, in ein Shell-Skript mit dem Namen root.sh gespeichert. root.sh befindet sich im Verzeichnis orainst. Verwenden Sie folgenden Patch für root.sh, damit es die richtige Position von chown findet oder lassen Sie das Skript alternativ unter einer Linux-Shell ablaufen:

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

Wenn Sie Oracle nicht von CD-ROM installieren, können Sie Quelldatei für root.sh verändern. Sie heißt rthd.sh und befindet sich im orainst-Verzeichnis des Quellcodebaums.

22.5.4.2. genclntsh patchen

Das Skript genclntsh wird verwendet, um eine Shared-Library für Clients zu erzeugen. Diese wird bei der Erzeugung der Demos verwendet. Verwenden Sie folgenden Patch, um die PATH-Definition auszukommentieren:

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

22.5.5. Oracle starten

Wenn Sie den Anweisungen gefolgt sind, sollten Sie nun in der Lage sein, Oracle zu starten, genau so, wie Sie dies auch unter Linux tun würden.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine EMail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine Email an <de-bsd-translators@de.FreeBSD.org>.