Manuale di FreeBSD
Indietro | Capitolo 10 Compatibilità con i Binari di Linux | Avanti

# 10.6 Installazione di Oracle®

Contributo di Marcel Moolenaar.

## 10.6.1 Prefazione

Questo documento descrive il processo di installazione per Oracle® 8.0.5 e Oracle 8.0.5.1 Enterprise Edition per Linux su una macchina FreeBSD.

## 10.6.2 Installazione dell'Ambiente Linux

Assicurati di avere installati sia `emulators/linux_base` che `devel/linux_devtools` dalla collezione dei port. Se hai difficoltà con questi port, potresti dover usare i pacchetti o versioni più vecchie disponibili nella collezione dei port.

Se vuoi far girare l'intelligent agent, dovrai anche installare il pacchetto Tcl di Red Hat :`tcl-8.0.3-20.i386.rpm`. Il comando generale per l'installazione dei pacchetti con il port degli RPM ufficiali (`archivers/rpm`) è:

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

L'installazione del `pacchetto` non dovrebbe generare alcun errore.

## 10.6.3 Creazione dell'ambiente Oracle

Prima di installare Oracle, devi impostare un ambiente appropriato. Questo documento descrive solo cosa fare in particolare per far girare Oracle per Linux su FreeBSD, non cosa è descritto nella guida di installazione di Oracle.

### 10.6.3.1 Affinamento del Kernel

Come viene descritto nella guida di installazione di Oracle, devi impostare la dimensione massima di memoria condivisa. Non usare `SHMMAX` sotto FreeBSD. `SHMMAX` è soltanto calcolato a partire da `SHMMAXPGS` e `PGSIZE`. Di conseguenza definisci `SHMMAXPGS`. Tutte le altre opzioni possono essere usate come descritte nella guida. Per esempio:

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

Imposta queste opzioni per ottenere l'uso desiderato di Oracle.

In più, assicurati di avere le seguenti opzioni nel file di configurazione del tuo kernel:

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

### 10.6.3.2 Account di Oracle

Crea un account `oracle` proprio come faresti per creare qualunque altro account. L'account `oracle` è speciale solo se hai bisogno di usarlo in una shell di Linux. Aggiungi `/compat/linux/bin/bash` a `/etc/shells` e imposta la shell per l'account di `oracle` in `/compat/linux/bin/bash`.

### 10.6.3.3 Ambiente

A fianco dele normali variabili Oracle, come `ORACLE_HOME` e `ORACLE_SID` devi impostare le seguenti variabili d'ambiente:

Variabile | Valore
--- | ---
`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`

Si raccomanda di impostare tutte le variabili d'ambiente in `.profile`. Un esempio 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 Installazione di Oracle

A causa di una leggera inconsistenza nell'emulatore Linux, devi creare una directory chiamata `.oracle` in `/var/tmp` prima di avviare l'installer. Fallo appartenere dall'utente `oracle` e dovresti essere in grado di installare Oracle senza alcun problema. Se hai problemi, controlla prima la tua distribuzione e/o configurazione di Oracle! Dopo che hai installato Oracle, applica le patch descritte nelle prossime due sottosezioni.

Un problema frequente è che l'adattatore del protocollo TCP non è installato corretamente. Di conseguenza non puoi avviare alcun listener TCP. Le seguenti azioni aiutano a risolvere questo 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

Non dimenticarti di eseguire `root.sh` ancora!

### 10.6.4.1 Modifiche a root.sh

Nell'installazione di Oracle, alcune azioni, che vanno eseguite come `root`, sono registrate in uno script di shell chiamato `root.sh`. Questo script si trova nella directory `orainst`. Applica questa patch a `root.sh`, in modo che usi propriamente `chown` o, in alternativa, esegui lo script in una shell nativa di 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

Se non installi Oracle dal CD, puoi aggiungere la patch al sorgente di `root.sh`. Si chiama `rthd.sh` e si trova nella directory `orainst` nell'albero dei sorgenti.

### 10.6.4.2 Modifiche a genclntsh

Lo script `genclntsh` viene usato per creare una singola libreria condivisa del client. Si usa quando si compilano le demo. Applica la patch seguente per decommentare la definizione di `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 Avvio di Oracle

Se hai seguito le istruzioni, dovresti essere in grado di avviare Oracle proprio come se fosse su Linux.

Indietro | Partenza | Avanti
Installazione di MATLAB® | Risali | Installazione di SAP® R/3®

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.