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.

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