Ci sono alcuni passi da fare prima del processo d'installazione. Vengono suddivisi nelle seguenti categorie:
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.
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.
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.
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.
È possibile scaricare il JRE (Java Runtime Environment) dal 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.
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.
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).
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
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.
Impostare i descrittori di file usando i seguenti comandi:
echo 65536 > /proc/sys/fs/file-max
ulimit -n 65536
Impostare i socket usando il seguente comando:
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
Impostare il limite di processo usando il seguente comando:
ulimit -u 16384
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 .
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.
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.
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.