Oracle 9i su RedHat Linux 8.x e 9.x - Installazione Semplice HOWTO

Evgueni Tzvetanov

   v1.1, 23 Giugno 2003
     __________________________________________________________________

   Questo documento descrive un esempio di un'installazione di un database
   Oracle 9i Standard Edition sotto RedHat Linux 8.x e 9.x.Traduzione a
   cura di Ivan Bazzi, revisione a cura di Rita Bandiera.Per versioni
   aggiornate di questo documento, e per trovare altra documentazionein
   italiano sul software libero, visitare il sito dell' [1]ILDP
     __________________________________________________________________

1. Introduzione

   Si assume che il lettore abbia familiarità con i file system, i
   comandi, e gli strumenti, i programmi di utilità, le shell e gli script
   di shell di Linux.

1.1 Panoramica

   Questo documento intende mostrare una sequenza semplificata
   d'installazione per il database Oracle 9i su RedHat Linux 8.x e 9.x. È
   inteso solo come esempio e se si intende seguirlo si dovrebbe tenere in
   considerazione la propria versione di Linux, la distribuzione di Oracle
   e gli specifici parametri del proprio PC.

   Questo documento inoltre limita le informazioni al solo Linux, e non è
   inteso per l'uso con altre marche di UNIX. Per installare Oracle 9i su
   altri sistemi operativi vedere la Guida all'installazione di Oracle.

   Io non sono un DBA né intendo mostrare grandi abilità d'amministratore
   di Oracle, quindi non fatemi domande da DBA. Lascerò questo compito ai
   DBA con esperienza :)

1.2 Copyright

   Questo documento è sottoposto a Copyright 2003 da Evgueni Tzvetanov
   (Speedy). E' permesso copiare, distribuire e/o modificare questo
   documento secondo i termini della GNU Free Documentation License,
   versione 1.1, o di una qualsiasi versione pubblicata successivamente
   dalla Free Software Foundation senza alcuna sezione non modificabile,
   nessun testo di copertina e nessun testo di quarta di copertina.

   Per il testo completo della licenza visitare la [2]GNU Free
   Documentation License.

1.3 Liberatoria

   L'uso delle informazioni contenute in questo documento è a proprio
   rischio. Disconosco qualsiasi potenziale responsabilità per i contenuti
   di questo documento. L'uso dei concetti, degli esempi, e/o di altro
   contenuto di questo documento è interamente a proprio rischio.

   Tutti i copyright appartengono ai loro proprietari, se non
   specificatamente indicato diversamente. L'uso di un termine in questo
   documento non deve inficiare la validità di qualsiasi trademark o
   service mark.

   La citazione di particolari prodotti o marchi non deve essere
   considerata come approvazione.

   Si consiglia fortemente di fare un backup del sistema prima di
   importanti installazioni ed eseguire backup ad intervalli regolari.

1.4 Crediti

   Questo documento è stato creato usando conoscenze ottenute da varie
   fonti -- libri e siti web.

     * Oracle 9i Installation Guide
     * Oracle 9i Database Administrator's Guide
     * DBA's guide to databases on Linux
     * Oracle 8i: A beginner's guide
     * Sito web di Oracle (http://www.oracle.com)

   Voglio esprimere i miei sinceri ringraziamenti agli autori!

   Voglio anche ringraziare le persone che mi hanno dato suggerimenti e
   hanno portato questo aggiornamento ad una più ampia serie di soluzioni.

     * Steve Schladel, collega ed DBA alla UMDNJ, che mi ha dato un
       suggerimento riguardo ad una variabile che ha risolto il blocco del
       processo d'installazione sotto RedHat 9.x.
     * Rene Bauer, che mi ha spedito una dettagliata spiegazione sui
       problemi riscontrati con differenti versioni di JRE, relativa a
       distribuzioni di gcc 2.9.x vs. gcc 3.2, ed installazione di Legato
       Single Server Version.

   Alcune delle esperienze elencate negli esempi sono state ricavate da
   molti test ed esperimenti. Sentitevi liberi di sperimentare; questa è
   la chiave principale per trovare una soluzione desiderata. Anche se
   vengono distrutti uno o due sistemi, questo serve ad aumentare la
   creativitè e dai propri errori s'impara.

   Sentitevi liberi di spedirmi commenti e suggerimenti a
   [3]evgueni@email.com

2. Cominciare

2.1 Scaricare il database Oracle 9i

   Ottenere una copia del database Oracle 9i è semplice. Basta andare sul
   [4]sito Oracle, cliccare su Download e seguire il percorso basato sulla
   distribuzione. Ci sono poche pagine da leggere prima di arrivare ai
   collegamenti per lo scarico. Queste pagine contengono copyright e
   informazioni sull'accordo, che suggerisco di leggere con attenzione.
   Tutte le altre informazioni sono solo statistiche. Se non si è un
   membro ci si deve registrare sul sito web di Oracle per avere il
   permesso di accedere a qualsiasi distribuzione che può essere scaricata
   liberamente.

   Le distribuzioni del server sono in 3 file, chiamate qualcosa come:
     * lnx_920_disk1.cpio.gz
     * lnx_920_disk2.cpio.gz
     * lnx_920_disk3.cpio.gz

   Altre versioni potrebbero avere nomi differenti, ma l'installazione può
   considerarsi simile.

   In base alle istruzioni d'installazione di Oracle ci sono 2 fonti che
   possono essere usate - installazioni da CD e da Hard Disk. Io ho usato
   la prima. Lo scarico dei file di distribuzione e la creazione dei CD
   (si veda il prossimo punto) sono operazioni che portano via tempo,
   quindi bisogna portare pazienza. Sarà inoltre necessario parecchio
   spazio sul disco rigido. I 3 file di distribuzione sono circa 1.5 GB.
   Sarà necessario almeno 3 volte questo spazio se s'intendono mantenere
   gli archivi, le directory e le immagini dei CD sull'hard disk fino a
   quando non si ha la certezza che i CD siano stati creati correttamente.

   Assumendo di essere nella directory dove le distribuzioni sono state
   scaricate, eseguire quanto segue con tutti e 3 i file di distribuzione
   da una shell:

     gunzip lnx_920_disk1.cpio.gz
     cpio -idmv < lnx_920_disk1.cpio

   Questi comandi creeranno 3 directory chiamate Disk1, Disk2 e Disk3.

2.2 Creazione dei CD

   La scrittura di informazioni su CD in Linux è coperta completamente da
   CD-Writing-HOWTO, così quanto segue sono solo i passi specifici per le
   distribuzioni di Oracle.

  Creazione delle immagini dei CD

   Il primo passo è creare le immagini dei CD per i 3 CD della
   distribuzione ORACLE. Eseguire la sequenza che segue per le 3
   directory, cambiare i nomi dei file ed i nomi delle directory per
   ciascun comando:

     mkisofs -r -o ora9id1.iso Disk1/

   Questo creerà 3 immagini di CD ISO che verranno usati successivamente
   nel processo d'installazione. Il comando può generare molti
   avvertimenti per le sostituzioni di nomi. Non c'è da preoccuparsi. Le
   immagini conterranno le informazioni corrette sull'albero delle
   directory. Per controllare se sia vero, montare le immagini in una
   directory utlizzando il dispositivo di loopback (il kernel in uso
   dovrebbe supportare i dispositivi di loopback per eseguire il test)
   come descritto nel CD-Writing-HOWTO:

     mount -t iso9660 -o ro,loop=/dev/loop0 cd_image mount_dir

   Dove cd_image è l'immagine del CD risultante dal comando mkisofs. Dopo
   averlo montato, si può cambiare directory e controllare l'albero delle
   directory montato per assicurarsi che tutto sia OK. Se tutto è a posto,
   si può passare al passo successivo.

  Masterizzazione dei CD

   E' possibile masterizzare le immagini dei CD su CD con qualsiasi linea
   di comando o programma GUI che usi immagini CD ISO per creare CD.
   Vedere CD-Writing-HOWTO per dettagli. Assicurarsi comunque che dopo
   aver masterizzato i CD contengano esattamente gli stessi alberi di
   directory come le directory Disk1, Disk2 e Disk3. Questo è possibile
   montando i nuovi CD ed usando qualsiasi mezzo che si trovi conveniente
   per percorrere l'albero delle directory. Le immagini possono essere
   scritte su qualsiasi masterizzatore CD o computer, usando qualsiasi
   software che supporti la scrittura su CD da immagini ISO.

   Il comando mkisofs potrebbe generare directory vuote nella directory di
   radice dell'immagine stessa del CD. Queste non sono un problema per il
   contenuto dell'installazione. Basta ignorarle.

3. Pre-installazione

   Ci sono alcuni passi da fare prima del processo d'installazione.
   Vengono suddivisi nelle seguenti categorie:

3.1 Requisiti di sistema

  Requisiti Hardware

   Oracle 9i è un osso duro, e meglio avere una buona macchina. Questo è
   quello che dice la guida d'installazione (indice):

Parametro       Richiesta       Sufficiente (provato)
---------------------------------------------------
CPU                 PII o  K6   K6/2 *(1)
RAM                 512 MB              256 MB
spazio HDD      3.5 GB          2.5 GB *(2)
spazio Swap     1GB o  RAMx2    512 MB o più

   (1) Per grandi database si raccomdano doppie CPU. Di solito una coppia
   di CPU ad alta prestazione (Xeon o Athlon MP) o anche sistemi quadrupli
   sono considerate buone scelte.

   (2) Si raccomanda l'uso di HDD SCSI in RAID o di HDD separati per ogni
   database, se sono installate istanze di database multiple.

  Requisiti Software

   Oracle richiede una versione minima del kernel e del software JRE:

Parametro       Richiesta               Sufficiente (provato)
---------------------------------------------------
Kernel          Version 2.4.7   più recente va bene
        JRE                     1.1.8v3         1.1.8v3

   Dalla versione 8i (inclusa) i processi d'installazione sono basati su
   GUI e sono eseguiti con Java, quindi un requisito principale è un
   server X ed un Window Manager. Dovrebbe essere installata almeno la
   versione 1.1.8v3 di JRE. Questa installazione è stata fatta con la
   versione 1.1.8v3 di JRE. Non posso garantire che altre versioni possano
   funzionare. E' da provare a proprio rischio.

   Queste richieste sono valide se si decide di installare l'Enterprise
   Server. Per la Standard Edition i dati sufficienti vanno bene. In
   alcuni casi i parametri possono essere anche inferiori.

  Ambiente di installazione de-facto

   Ecco l'ambiente di installazione che ho usato per questo esempio:

CPU             K6 III /400
RAM             512 MB
HDD space       2.3 GB
Swap space      512 MB
CD ROM          24x
Kernel version  2.4.18-24.8.0
JRE             1.1.8v3

   Sembra che questo ambiente sia sufficiente per fare delle prove con
   database di piccole dimensioni, se si ha necessità di usare un database
   grande o molto grande scegliere un hardware migliore.

3.2 Variabili e profili d'ambiente

   L'installazione richiede l'impostazione di qualche variabile d'ambiente
   prima di iniziare. Queste variabili possono essere impostate nel
   proprio profilo direttamente inserendo le linee nel .bash_profile di
   tutti gli account che verranno usati per accedere al database, ovvero,
   con un approccio più generale -- nel file /etc/profile (come in questa
   installazione). Ecco una semplice lista e valori di esempio per le
   variabili (esempio corrente):
     __________________________________________________________________


ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/9.2.0.1.0
ORACLE_SID=ORTD

PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/network/lib

export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH
     __________________________________________________________________

   Fin qui tutto è valido sia per la RedHat 8.x che 9.x, ma sembra che
   Oracle abbia pensato ad un'altra variabile da impostare per la RedHat
   9. Va aggiunta alle precedenti ed esportata di conseguenza. È
   necessario impostarla se non si vuole essere bloccati in un ciclo
   infinito durante l'installazione:
     __________________________________________________________________

LD_ASSUME_KERNEL=2.4.1
     __________________________________________________________________

   Grazie a Steve Schladel, collega e DBA, l'installazione è proseguita
   agevolmente senza alcun problema.

   Ho impostato la variabile ORACLE_SID usando l'abbreviazione di Oracle
   Test Database. Dipende da chi installa cosa impostare come SID. Questo
   saràil database di default e parte del nome globale del database.

   Per maggiori informazioni sul significato delle variabili si faccia
   riferimento al Manuale o Referenze dell'Amministratore di Oracle.

3.3 JRE

   È possibile scaricare il JRE (Java Runtime Environment) dal [5]sito di
   Blackdown. Se non si sa cosa scaricare scaricare l'1.1.8v3 e
   spacchettare il tarball nella directory /usr/local. Questo creerà una
   directory chiamata come la versione del JRE. Fare il seguente
   collegamento in /usr/local/:

     ln -s jre118_v3 jre

   per la distribuzione JRE 1.1.8v3. Se viene usata una versione più
   recente, cambiare il comando corrispondentemente. Ora aggiungere alla
   variabile PATH la directory bin del proprio JRE:

     PATH=$PATH:/usr/local/jre/bin
     export $PATH

   o aggiungere queste linee con quelle nel profilo come si ritenga
   efficiente.

3.4 Impostare i compiti da eseguire come utente root

   Prima di cominciare l'installazione vanno preparati l'ambiente Linux e
   la struttura delle directory. I passi sono pochi e sono elencati sotto
   con una descrizione per ogni passo. Si ricordi che questi passi sono i
   passi minimi richiesti per l'installazione della Standard Edition. Se
   si intendesse installare Enterprise e servizi aggiuntivi suggerisco un
   attento studio della guida d'installazione di Oracle 9i.

   Connettersi come root e seguire l'elenco.

  Messa a punto del Kernel

   Se la seguente sezione non è abbastanza chiara, fare riferimento al
   materiale di consultazione per i programmatori IPC di Linux.

   >Dalla versione 2.2.1 in avanti, il kernel ha impostato parametri in
   modo dinamico attraverso il /proc file system e non ha bisogno di
   essere ricompilato. Per questo scopo il /proc file system può essere
   usato con grande flessibilità Ecco i passi necessari per aggiornare il
   kernel e impostare gli script da attivare all'avvio, in modo che i
   parametri vengano impostati ogni volta che il sistema viene avviato.

   Cambiare la directory corrente a /proc/sys/kernel.

   Elencati qui sotto sono le minime impostazioni richieste da aggiornare
   (se necessario).

  Leggere e impostare i parametri dei semafori

   E' possibile leggere i valori dei parametri dei semafori SEMMSL,
   SEMMNS, SEMOPM, SEMMNI con il seguente comando:

     cat sem

   L'output dovrebbe essere simile a:

     250 32000 32 128

   che è la lista dei valori dei parametri nell'ordine della lista qui
   sopra. Ora impostare i valori con il seguente comando:

     echo 100 32000 100 100 > sem

  Leggere ed impostare i parametri della memoria condivisa

   Si possono leggere i parametri della memoria condivisa SHMMAX, SHMMIN,
   SHMMNI, SHMSEG usando il seguente comando:

     cat shm_param

   dove shm_param è uno di shmmax, shmmin, shmmni, shmall, ecc. Ora usare
   i seguenti comandi per impostare i valori per i parametri necessari:

     echo 2147483648 > shmmax
     echo 4096 > shmmni
     echo 2097152 > shmall

   È possibile combinare l'insieme dei suddetti comandi in uno script di
   shell ed eseguire all'avvio a livello di esecuzione, per decidere quale
   database Oracle verrà usato, ma è da tenere presente che questi
   parametri dovrebbero essere impostati prima che l'istanza del database
   venga attivata. Fare riferimento alla guida di amministratore di Linux
   per maggiori informazioni sui livelli di esecuzione e gli script di
   attivazione di init.

  Descrittori di file

   Impostare i descrittori di file usando i seguenti comandi:

     echo 65536 > /proc/sys/fs/file-max
     ulimit -n 65536

  Socket

   Impostare i socket usando il seguente comando:

     echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

  Limite di processo

   Impostare il limite di processo usando il seguente comando:

     ulimit -u 16384

  Gruppi ed account

   Come tutti i database, Oracle, 9i richiede un account per il
   proprietario, tradizionalmente chiamato oracle. I requisiti per i
   gruppi sono un po' insoliti; ci deve essere un gruppo per OSDBA, che
   come valore definito è chiamato dba. Oracle richiede anche un secondo
   gruppo (di solito chiamato oinstall) per assegnare l'autorità di
   installare software. Dovrebbe essere anche presente un altro gruppo per
   gli operatori (ma è facoltativo), usato per consentire l'accesso di
   operatori a certi gruppi di utenti. Quindi ecco la sequenza di comandi
   per creare i gruppi:

     groupadd dba
     groupadd oinstall
     groupadd oper

   Dopo che i gruppi sono stati creati si può aggiungere un account per il
   proprietario di Oracle:

     useradd -c DBA -g oinstall -G dba oracle

   che creerà l'account oracle con gruppo primario oinstall e secondario -
   dba.

   Inoltre, gli utenti che useranno questa istanza del database possono
   essere aggiunti al gruppo nel /etc/group file .

  Punti di mount e permessi

   L'installazione Oracle 9i richiede un minimo di due punti di mount --
   uno per il software ed uno per i file del database. Se viene usata OFA
   (Optimal Flexible architecture), allora i minimi punti di mount sono
   quattro -- uno per il software e tre o più per i file del database.

   La documentazione Oracle raccomanda che ogni punto di mount sia su un
   disco fisico separato, ma per un uso minimale come in questo caso, il
   punto di mount potrebbe essere le directory. Tradizionalmente i nomi
   dei punti di mount sono /u01, /u02, /u03, ecc. Si possono creare come
   sotto directory in qualsiasi parte del sistema e collegate da link
   nella directory di root. Nel mio caso ho creato le directory (solo 2 di
   esse - /u01 e /u02) nella directory di root.

   Ecco una piccola lista di comandi per creare e preparare il punto di
   mount (come root):

     mkdir /u01 /u02
     chown oracle.dba /u01 /u02
     chmod 755 /u01 /u02

   Gli ultimi due comandi impostano la proprietà delle directory di
   installazione all'utente autorizzato ad installare Oracle 9i, ma dopo
   l'installazione per scelta dell'amministratore le directory più elevate
   possono essere riportate in possesso di root.

  Permessi per la creazione di file

   Nella maggior parte dei casi la umask dovrebbe essere impostata a 0022.
   Installando i database Oracle si consiglia di controllare e impostare
   umask a 0022 se non impostata in modo appropriato. Questo assicurerà
   che durante l'installazione tutti i file siano creati con gli attributi
   appropriati. Usare i seguenti comandi:

     umask

   per verificare la maschera e:

     umask 0022

   per impostare la maschera. È possibile anche impostare questo comando
   nel profilo nel caso il valore predefinito non sia 0022.

3.5 Impostare i compiti da eseguire come utente oracle

   Prima di iniziare l'installazione connettersi come utente oracle in un
   terminale X ed accertarsi che le variabili DISPLAY e PATH contengano i
   valori appropriati. La variabile DISPLAY dovrebbe specificare il nome,
   numero del server e il numero di schermo del sistema e dove Oracle
   Universal Installer dovrà girare. Questo passo è necessario solo se si
   usa un server X remoto. Nel caso di installazione locale, se si può far
   girare X Window Manager sarà possibile far girare l'installatore senza
   problemi. Se ci fossero problemi nell'eseguire l'installatore a causa
   della variabile DISPLAY, eseguire:

     xhost +localhost
     export DISPLAY=localhost:0.0

   Questo dovrebbe risolvere il problema.

   In aggiunta eseguire come utente oracle:

     env

   e controllare per tutte le variabili precedentemente menzionate le
   variabili d'ambiente. Se ci fosse un sospetto che una o più non siano
   impostate correttamente dovrebbero essere corrette e l'ambiente
   ricaricato.

4. Installazione

4.1 Montaggio dei CD (prima o durante l'installazione)

   Di solito Linux RedHat ha l'automount, che monta il CD dopo che la
   porta del CD-ROM è chiusa ma nel caso che questo si debba fare
   manualmente ecco come in breve.

   Invocare una finestra di terminale e diventare superuser. Lasciare il
   terminale aperto durante il corso dell'installazione. Verrà comodo a
   suo tempo.

   Inserire il primo CD nel lettore CD-ROM. Controllare se si ha una
   directory dove montare i CD. In genere è /mnt/cdrom, ma se questa non
   fosse la scelta favorita la si chiami come si vuole. Ora eseguire il
   seguente comando (assumendo che la directory di mount sia /mnt/cdrom):

     mount /dev/cdrom /mnt/cdrom

   Questo monterà il CD sulla /mnt/cdrom directory che sar à la directory
   di installazione sorgente.

   Durante l'installazione Oracle Universal Installer richiederà un cambio
   di CD, per cui se il CD non può essere smontato automaticamente, andare
   al proprio terminale di root e dare il seguente:

     cd /mnt
     eject

   Questo smonterà il CD ed aprirà il CD-ROM. Ora inserire il successivo
   CD e chiudere il CD-ROM. Usare il comando mount ancora se il CD non
   èmontato automaticamente e passare allo schermo di installazione per
   continuare il processo.

4.2 Esecuzione dell'installer

   Dopo aver montato il primo disco, invocare una nuova finestra di
   terminale e cambiare la directory a /mnt/cdrom. Questo è il punto di
   mount dell'installazione. Da qui eseguire:

     ./runInstaller &

   Inoltre è possibile aprire il file index.html dalla stessa directory in
   un browser e da là leggere e seguire la documentazione Oracle durante
   la procedura di installazione.

4.3 Schermi e passi di installazione

   Oracle Universal Installer 2.2 ha una interfaccia semplice ed
   intuitiva. E' possibile scegliere di saltare questa sezione della nota
   sull'installazione e seguire i propri istinti, cosa che potrebbe essere
   una idea molto buona. Gli schermi sono autoesplicativi e molto ben
   ordinati in una buona sequenza logica.

   Nel caso si voglia verificare dove si sia nell'installazione,
   confrontare il processo con le seguenti descrizioni degli schermi e dei
   passi.

  Schermo di benvenuto

   >Dallo schermo di benvenuto è possibile selezionare di installare o
   disinstallare prodotti. Se questa è la prima installazione cliccare
   Next per continuare.

   Appare una nuova finestra di dialogo (Inventory Location). E' richiesto
   l'inserimento di una directory d'inventario per la/le installazione/i
   ora e in futuro. Cliccare OK se si è d'accordo, altrimenti inserire la
   directory d'inventario desiderata.

  Schermo del nome di gruppo UNIX

   Questo schermo richiede il gruppo di installazione di Oracle che ha
   valore predefinito ointsall. Se si desidera cambiare questo nome o
   usare un altro gruppo (speciale) per ulteriore installazione, è ora il
   momento di modificare i gruppi. Altrimenti inserire ointsall e cliccare
   Next. Appare una finestra di dialogo, che mostra che si deve usare il
   terminale di root (ricordare quando è stato aperto prima). Andare al
   terminale di root e seguire le istruzioni sullo schermo, che sono
   semplici per eseguire lo script /tmp chiamato orainstRoot.sh in

   Se funziona correttamente, si dovrebbe poter vedere sullo schermo:

     Creazione del file di puntamento di Oracle Inventory
     (/etc/oraInst.loc)
     Cambio del groupname di /u01/app/oracle/oraInventory a oinstall.

   Ora tornare alla finestra di dialogo e cliccare Continua.

  Schermo di posizione dei file

   Questo schermo mostra le posizioni dei file sorgente e destinazione per
   il processo di installazione. Se le variabili d'ambiente sono okay non
   si dovrebbe cambiare niente, ma se lo si desidera, farlo con attenzione
   e con cognizione di causa! Si può semplicemnte cliccare Avanti.

   Quello che segue è una lunga lettura del disco e una barra di
   progressione in alto a destra dello schermo. Bisogna essere solo
   pazienti.

  Schermo dei prodotti disponibili

   Questo schermo mostra i prodotti disponibili in questo insieme
   d'installazione. Poiché si sta installando solo il database, la prima
   opzione (che è quella predefinita) è quella qui d'interesse.
   Effettivamente include alcuni dei prodotti elencati nelle sezioni
   successive. Cliccare Avanti.

  Schermo di tipi di installazione

   Dato che il nostro esempio mostra un'installazione Standard Edition,
   cliccare Standard Edition. E' possibile selezionare Enterprise, ma il
   percorso da qui in poi potrebbe essere differente e potrebbe essere
   necessario selezionare altre opzioni. Comunque, è scelta della persona
   che sta installando.

   Cliccare Avanti. Un'altra pausa (non lunga) e poi si andrà al passo
   successivo.

  Schermo di Configurazione del Database

   Questo schermo permette all'operatore di selezionare a quale scopo
   servirà il database, così l'installazione potrà sistemare i parametri
   di conseguenza. Io ho scelto General Purpose e ho cliccato Avanti. C'è
   un altro periodo di attesa (anche questo breve).

  Schermo di Identificazione del Database

   Qui all'operatore è richiesto di inserire il nome globale del database.
   Il testo su questo schermo è abbastanza esplicativo. Per il nostro
   esempio ho inserito:

     ORTD.zeus

   dato che il nome host del server del database è zeus. Usare il proprio
   nome host al suo posto e cliccare Avanti.

  Schermo di Posizione dei file di database

   Questo schermo richiede di inserire la posizione dove sono situati i
   file di database fisici. Si raccomanda anche di mettere i file di dati
   su un disco separato (directory). Ecco perché ho inserito:

     /u02/oradata

   invece che il valore predefinito. Cliccare Avanti quando si è fatto.

  Schermo di Insieme di Caratteri del Database

   Questo schermo permette di scegliere differenti insiemi di caratteri
   per il database. L'ho lasciato com'è usare l'insieme di caratteri
   predefinito. Cliccare Avanti.

  Schermo di Indice

   Se si vede questo schermo, la preparazione per il processo di
   installazione con la OUI è fatto. Ora si può navigare per i contenuti
   dell'albero di installazione e vedere quale si è scelto. Questo
   potrebbe far tornare indietro e mettere a posto alcune cose, se non si
   è in accordo con la lista. Altrimenti cliccare Install, e il processo
   di installazione comincerà

  Schermo di Installazione

   Questo è uno schermo noioso, di lunghissima durata, che richiede cambi
   di CD di tanto in tanto. Mostra una barra di progressione e calcola la
   percentuale per mostrare la progressione complessiva per elemento.

   Il processo di installazione è molto lungo. Prima tutti i componenti
   software vengono installati poi di tutto viene fatto il link.

   Cercate qualcosa da fare per ammazzare il tempo e di quando in quando
   guardate lo schermo per vedere se il CD va cambiato.

   IMPORTANTE! Nel mio caso (ho fatto l'installazione due volte) c'è stato
   una schermata d'errore a circa il 79% nel processo di link. La finestra
   d'errore dava la seguente informazione:

     Error in invoking target install of makefile
     /u01/app/oracle/product/9.2.0.1.0/ctx/lib/ins_ctx.mk

   Ho cliccato Ignora e in entrambe le installazioni sembra non ci sia
   stato alcun problema nel finire il processo di link.

   E' apparsa una finestra quando il processo di link è finito. Richiede
   qualche comando da terminale da eseguire prima che il processo di
   installazione sia concluso. Fondamentalmente, c'è uno script chiamato
   root.sh nella directory $ORACLE_HOME, che deve essere eseguito come
   root, dal terminale di root. L'esecuzione in sé richiede un po' di
   tempo e molta attività di HDD, perció bisogna essere pazienti e non
   preoccuparsi troppo.

  Schermo degli Strumenti di Configurazione

   Lo schermo degli strumenti di configurazione cerca di eseguire 3
   compiti e notifica il fallimento per tutti e tre. Ecco come ho risolto
   il problema. Nella directory $ORACLE_HOME c'è un link, chiamato JRE,
   che fa un collegamento alla directory JRE di ORACLE. Eliminare questo
   collegamento e crearne uno per la propria distribuzione di JRE,
   descritta precedentemente. Ecco la lista dei comandi:

     rm -f JRE
     ln -s /usr/local/jre/ JRE

   Dopo aver eseguito questi comandi, cercare di selezionare uno a uno gli
   elementi nella colonna Nome Strumento della tabella e cliccare su
   Riprova. Se questo non funziona, non c'è da preoccuparsi. Questi sono
   facoltativi nella sessione di installazione e si possono fare
   successivamente.

  Risoluzione dei problemi

   Se gli ultimi compiti (facoltativi) non vengono eseguiti, ho uno
   speciale insieme di istruzioni su come fare almeno due di essi. Ma
   prima, voglio porre l'accento sul fatto di avere la documentazione di
   Oracle a portata di mano e cercare di leggere qualche volta tra le
   righe quando si cerca di risolvere i problemi relativi
   all'installazione. Se le condizioni sono giuste, non si dovrebbe avere
   alcun errore serio durante la sessione, ma nel caso se ne abbia una,
   controllare tutte le condizioni iniziali, i permessi dei file e delle
   directory e lo spazio su disco.

   Si può facilmente eliminare tutto e ricominciare da capo basta
   annullare i contenuti delle directory dei mount point di Oracle (/u01,
   /u02, ecc.), ed eliminare il file oratab nella directory /etc.
   C'èancora un insieme di file che si potrebbe eliminare così da non
   lasciar traccia di Oracle sul sistema. Sono nella directory
   /usr/local/bin ed i loro nomi sono /oraenv/, /coraenv/ e /dbhome/.
   Comunque si possono lasciare, alla prossima installazione l'installer
   chiederò se si vogliono mantenere.

   Ora i compiti facoltativi:

  Assistente alla Configurazione di Rete

   Per eseguirlo, andare alla directory $ORACLE_HOME/bin e da là eseguire:

     ./netca &

   Questa applicazione avvierà il primo di quattro compiti. Quello che
   veramente si vuole impostare è il listener. Gli altri non sono così
   importanti ma si può provare ad impostarli comunque. Prima di impostare
   il listener si potrebbe avere un listener già in esecuzione.
   Controllare questo con l'esecuzione del seguente comando:

   >

     ps afx | grep LISTEN | grep -v grep

   Se si ottiene una linea simile a:

     15922 ? S 0:00 /u01/app/oracle/product/9.2.0.1.0/bin/tnslsnr
     LISTENER

   Si ha un listener attivo. Fermare il listener con il seguente comando
   dalla directory $ORACLE_HOME/bin:

     ./lsnrctl stop

   Potrebbe essere necessario anche eliminare il listener esistente e
   crearne uno nuovo. Questo dipende completamente da chi stà eseguendo
   l'installazione. Seguire semplicemente il naturale flusso
   dell'applicazione. Al giro finale il nuovo listener verrà attivato se
   ne è stato creato uno nuovo, naturalmente.

  Assistente alla Configurazione del Database

   Per eseguirlo, andare in $ORACLE_HOME/bin ed eseguire:

     ./dbca &

   Questa applicazione è probabilmente la più importante del gruppo. Serve
   a creare e configurare il database. Se un database non è stato creato
   durante la sessione d'installazione o durante un riavvio delle
   applicazioni, come menzionato prima, questo è quello che si vorrebbe
   lanciare per creare il proprio database.

   Anche se non si è ancora usato il database, si potrebbe volerlo
   eliminare e ricreare. Si può farlo da qua. Questo documento non può
   includere tutte le funzionalità dell'applicazione, ma dato che è una
   GUI, è abbastanza facile eseguire compiti con essa.

   Personalmente io preferisco crearlo da qui, così ho il controllo su
   tutti i parametri necessari, specialmente le directory dove i file di
   dati saranno creati. Scelgliere Typical quando vengono richiesti i
   parametri del database. Il prossimo schermo, con la struttura ad albero
   permette di impostare la posizione dei file di database. Invece di
   {ORACLE_BASE}, si può mettere /u02 per esempio. Questo metterà i file
   di database da usare nella directory /u02/oradata/SID. Questo è solo un
   esempio. Ognuno decide come distribuire l'albero delle directory del
   proprio database.

   Alla fine della creazione del database verranno chieste password per
   gli utenti SYS e SYSTEM. Inserirle (confermandole), ricordarle, ed
   uscire (questo funziona come OK nel caso non lo si sia già indovinato).
   Questo dovrebbe essere quanto. Ora eseguire:

     ps afx

   e lo schermo dovrebbe contenere linee simili a quanto segue:
     __________________________________________________________________


PID     TTY      STAT   TIME COMMAND
    1   ?        S      0:04 init
    2   ?        SW     0:01 [keventd]

..... molte altre linee che non interessano...

11665   ?        S      0:00 ora_pmon_ORTD
11667   ?        S      0:00 ora_dbw0_ORTD
11671   ?        S      0:00 ora_lgwr_ORTD
11673   ?        S      0:00 ora_ckpt_ORTD
11675   ?        S      0:00 ora_smon_ORTD
11677   ?        S      0:00 ora_reco_ORTD
11679   ?        S      0:00 ora_cjq0_ORTD
11681   ?        S      0:02 ora_qmn0_ORTD
11683   ?        S      0:00 ora_s000_ORTD
11685   ?        S      0:00 ora_d000_ORTD
11812   pts/1    S      0:00 /u01/app/oracle/product/9.2.0.1.0/bin/tnslsnr LIST
ENER -inherit
     __________________________________________________________________

   Se si vede questa immagine l'istanza del database è in funzione.
   L'ultima linea nel suddetto esempio è il listener (potrebbe essere
   altrove sullo schermo).

   Congratulazioni! L'installazione si è conclusa con successo!

  Aggiornamenti riguardanti la risoluzione di problemi

   Quello che segue è un aggiornamento, per cortesia di Rene Bauer. Si
   potrebbero incontrare problemi con i seguenti elementi:
     * Compatibilità della versione di JRE
     * File di configurazione del database mancante
     * Fallimento dell'installazione di Legato Single Server Version

   I problemi di compatibilità i JRE non sono stati rilevato da Rene solo,
   ma ho recevuto un po' di email al proposito. Il problema esiste perché
   RedHat 8 e 9 sono fornite con la versione 3.2.x di gcc, ma alcune
   versioni precedenti di JRE sono compilate con gcc 2.9.x. La soluzione è
   quella di scaricare l'ultima versione di JRE. Al momento di questo
   aggiornamento la versione è 4.1 e dato che non c'è nessun eseguibile
   jre, eseguire il seguente comando per creare il sym link appropriato:

     ln -s $JRE_DIR/bin/java $JRE_DIR/bin/jre

   dove $JRE_BIN è la directory bin di jre.

   Il secondo aggiornamento è relativo al file di configurazione mancante
   dopo la creazione del database. Il file init{ORACLE_SID}.ora dovrebbe
   essere creato in modo predefinito nella propria directory
   $ORACLE_HOME/dbs/.

   La soluzione di Rene è l'installatore crea un file chiamato
   spfile{ORACLE_SID}.ora, così è possibile creare un sym link per
   simulare il file mancante. Cambiare la propria direttory di lavoro in
   modo che sia $ORACLE_HOME/dbs/ ed eseguire:

     ln -s spfile{ORACLE_SID}.ora init{ORACLE_SID}.ora

   La mia soluzione: dopo l'installazione con creazione del database c'è
   sempre un file chiamato init.ora. Ho semplicemente copiato questo file
   in init{ORACLE_SID}.ora. Cambiare la propria directory di lavoro in
   modo che sia $ORACLE_HOME/dbs/ ed eseguire:

     cp init.ora initORTD.ora

   Il terzo problema riguarda il processo di installazione di Oracle,
   installare Legato Single Server Version. Io non ho avuto questo tipo di
   problema, ma ecco la versione di Rene, che ho cercato di rendere nel
   modo più breve possible: l'ultimo file root.sh, eseguito su richiesta
   dell'installazione di Oracle, ha causato un errore cercando di
   installare LSSV. Secondo Rene, RedHat 8 e 9 sono fornite di ncurses5,
   ma in modo predefinito il pacchetto di compatibilità con ncurses4 non
   viene installato, quindi dopo averlo installato il problema di
   installazione di LSSV sparisce.

   Questi possono non essere gli ultimi problemi da risolvere, quindi
   incoraggio qualsiasi commento ed aggiunta che io possa aggiungere alla
   sezione Risoluzione dei problemi. Apprezzerei ogni riscontro che possa
   migliorare la qualità di questo documento.

5. Post-installazione

   La Guida all'installzione di Oracle descrive una lista molto lunga di
   procedure che vanno eseguite dopo il processo di installazione. Alcune
   di esse sono necessarie, alcune di esse probabilmente non serviranno
   mai nell'istanza, ma, quello che più conta è che questo documento non
   li ripeterà

   Fare riferimento alla guida d'installazione per queste procedure. Qui
   io descriverò i passi che sono molto utili per l'installazione minima
   che ho usato e che sembrano sufficienti per le operazioni fondamentali
   del database.

5.1 Modificazione del file oratab

   In particolare c'è un passo che è importante, così da poter iniziare e
   chiudere il database dal prompt dei comandi in ogni momento, o per
   consentire al database di essere lanciato automaticamente durante
   l'avvio. Andare nella directory /etc e modificare il file oratab. Nella
   linea:

     ORTD:/u01/app/oracle/product/9.2.0.1.0:N

   impostare l'ultimo valore a Y, dovrebbe leggersi:

     ORTD:/u01/app/oracle/product/9.2.0.1.0:Y

   Ora salvare il file e tornare alla home directory di Oracle.

5.2 Script per l'avvio automatico all'avvio

   In genere è una buona idea automatizzare l'attivazione del database al
   momento dell'avvio sul proprio server di database. In questo caso è
   necessario uno script, che può essere incluso nell'insieme di quelli a
   livello esecutivo. Qui c'è solamente un esempio. Adattarlo ai livelli
   di esecuzione della propria macchina!
     __________________________________________________________________


#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance

ORA_HOME="/u01/app/oracle/product/9.2.0.1.0"
ORA_OWNR="oracle"

# if the executables do not exist -- display error

if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
        echo "Oracle startup: cannot start"
        exit 1
fi

# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display

case "$1" in
    start)
        # Oracle listener and instance startup
        echo -n "Starting Oracle: "
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
        su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
        touch /var/lock/subsys/oracle
        echo "OK"
        ;;
    stop)
        # Oracle listener and instance shutdown
        echo -n "Shutdown Oracle: "
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
        su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
        rm -f /var/lock/subsys/oracle
        echo "OK"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 start|stop|restart|reload"
        exit 1
esac
exit 0
     __________________________________________________________________

   Si può semplicemente copiare e incollare questo file nel proprio
   sistema e cambiarlo secondo le proprie impostazioni.

   Una volta copiato e modificato il file, spostarlo nella directory
   /etc/rc.d/init.d e cambiare la sua proprietà e gli attributi in modo
   che siano gli stessi degli altri file nella directory.

   Per fare questo e le successive operazioni è necessario essere
   collegati come utente root.

   Alla quinta riga di questo codice si legge:

     # chkconfig: 345 91 19

   è usato dal comando chkconfig quando quando si impostano gli script nei
   livelli di esecuzione. Il valore 345 elenca i livelli di esecuzione nei
   quali è consentito il funzionamento di Oracle, così e si vuole essere
   in grado di eseguire istanze di Oracle solo nei livelli 3 e 5, allora
   cambiare il questo valore a 35. Il valore successivo (91) descrive il
   numero d'ordine nella sequenza di avvio. Questo significa che se ci
   sono 100 processi d'avvio, l'avvio di Oracle sarà il 91esimo a partire.
   Il numero successivo è il numero di chiusura, significa che quando il
   sistema viene chiuso e se ci sono ad esempio 100 processi da chiudere,
   il processo Oracle sarà il 19 nell'ordine. Questi numeri sono usati per
   impostare la posizione relativa dei processi di lancio e chiusura di
   Oracle. Qui sono stati impostati come esempio. Si possono cambiare, ma
   si tenga presente che le istanze di Oracle non possono essere eseguite
   senza che ci siano prima dei processi attivi nel sistema.

   Ora esegui il seguente comando:

     chkconfig -add oracle

   Questo aggiungerà i corrispondenti collegamenti nelle directory dei
   livelli di esecuzione come elencato all'inizio dello script.

   Per provare l'automatizzazione appena creata bisogna riavviare il
   sistema, ma si ricordi che prima che questa automatizzazione funzioni
   dovrebbero essere impostati i parametri del kernel. Si possono infatti
   inserire i comandi di adattamento del kernel nella sezione start) del
   suddetto script.

5.3 Prova dell'installazione con SQL*Plus

   Se si è installato un database tipico, dovrebbe essere stato creato un
   utente chiamato scott. La password è tiger. Eseguire quanto segue:

     sqlplus scott/tiger

   che dovrebbe lanciare l'interprete SQL*Plus e connettersi come utente
   scott. Si dovrebbe vedere lo schermo come segue:
     __________________________________________________________________


SQL*Plus: Release 9.2.0.1.0 - Production on Fri Feb 21 10:55:45 2003

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to:
Oracle9i Release 9.2.0.1.0 - Production
JServer Release 9.2.0.1.0 - Production

SQL>quit
Disconnected from Oracle9i Release 9.2.0.1.0 - Production
JServer Release 9.2.0.1.0 - Production
     __________________________________________________________________

   Prima di uscire si può lanciare qualche SQL solo per vedere le tabelle
   in questo schema di database o qualsiasi cosa si abbia in mente.

   >Da questo punto in poi è una questione di creatività e obiettivo.

6. Clients

   E' possibile far funzionare il software Client per il database Oracle
   9i su ogni piattaforma, quindi si può scaricare il client per la
   piattaforma desiderata (qualsiasi sia disponibile, ovviamente). Io
   personalmente preferisco avere software client sia sul DB server che su
   una stazione di lavoro MS Windows. Questo mi consente di sperimentare
   il controllo di un database multi-piattaforma, o così credo. :)

   Scaricare e preparare il CD con il client sulla stessa piattaforma da
   cui verranno eseguiti. Non è necessario ma è raccomandato avere un CD
   con esso. Anche se si può lanciare il processo d'installazione dal
   proprio HDD dove si èscaricato il client, io raccomando di spendere
   qualche soldino per un masterizzatore di CD. Diventa sempre utile.

   Anche il client usa l'Oracle Universal Installer, così questo potrebbe
   sembrare molto semplice dopo tutti i problemi precedenti.

   La prima volta che si lancia, l'Enterprise Management Console porta a
   connettersi al database. Fornire i nomi completi del SID e del database
   e cercare di connettersi come utente SYS con privilegi da SYSDBA. Ad un
   certo punto bisogna inserire l'indirizzo IP del database server e
   scegliere una porta a cui il client dovrà connettersi. Io ho lasciato i
   valori predefiniti (così come con l'impostazione di rete del server).

   Se non si vede alcun messaggio di errore, è tutto. E' finito.

   Divertitevi con il vostro giocattolo client e server!

7. Parole finali

   Oracle 9i è un'applicazione molto complessa, molto grande e soprattutto
   molto sicura. Questo documento ha toccato leggermente la superficie e
   non ha intenzione di essere una guida comprensiva. Spero che possa
   aiutare nel risolvere alcuni problemi durante l'installazione iniziale
   ma è importante analizzare la propria situazione e rivolgersi a fonti
   più affidabili.

   Alcune delle operazioni potrebbero essere eseguite manualmente usando
   SQL*Plus. Questo potrebbe essere un modo più flessibile per adattare e
   impostare l'installazione. Lo lascerà in mani più esperte.

   Non ho menzionato tante cose che sono descritte in dettaglio nella
   documentazione di Oracle stessa. Quindi esplorate la fonte originale in
   profondità

   Buona fortuna!

References

   1. http://it.ildp.org/
   2. http://www.gnu.org/copyleft/fdl.html
   3. mailto:evgueni@email.com
   4. http://www.oracle.com/
   5. http://www.blackdown.org/