[Pluto-ildp] Oracle 8.1.7 su Linux HOWTO

Linux :-) linux a mmsoftware.net
Mar 26 Giu 2001 11:35:44 CEST


# ORACLE 8.1.7 su LINUX
Autore: Alessandro Martellotta <alessandro.martellotta a mmsoftware.net>

<DISCLAIMER>
Use the information in this document at your own risk. I disavow any potential
liability for the contents of this document. Use of the concepts, examples,
and/or other content of this document is entirely at your own risk.
All copyrights are owned by their owners, unless specifically noted otherwise.
Use of a term in this document should not be regarded as affecting the validity
of any trademark or service mark.
Naming of particular products or brands should not be seen as endorsements.
You are strongly recommended to take a backup of your system before major
installation and backups at regular intervals.
</DISCLAIMER>

<COPYLEFT>
Leggetelo, copiatelo, mandatelo dove volete, bruciatelo se vi va.
Se proprio volete essere gentili lasciate il mio nome come autore!
 </COPYLEFT>

Il presente documento si basa essenzialmente sulla traduzione dell'help semi-
ufficiale che potete trovare all'indirizzo http://jordan.fortwayne.com/oracle/817.html
Il tutto abbondantemente infarcito di nozioni date da un mese di tentativi
di installazione falliti.

PERCHE' LINUX SU ORACLE?

Perchè e veloce, gratuito ed affidabile.
Quale sviluppatore di applicazioni Oracle mi trovo spesso nell'esigenza di
dover fornire al cliente il server applicativo con il motore database.
Fino ad oggi sono stato costretto ad utilizzare NT, e questo porta diversi
svantaggi:
1) Tanto per cominciare non è affidabile quanto Linux (che può essere
tranquillamente startato oggi e mai riavviato per diversi mesi).
2) Incide pesantemente sul costo complessivo della macchina server.
Risparmiare due milioni di licenza os consente di spendere un po' di più in
consulenza per l'installazione del sistema operativo gratuito, con ovvia
contentezza sia del fornitore che del cliente
3) E' più veloce. A parità di macchina NT spreca diverse risorse sia nella
inutile console a finestre sia in vari servizi misteriosi rispetto ad un
sistema essenziale e performante come Linux.
4) A mio parere mette a disposizione meno strumenti a basso livello.
Tanto per fare un esempio creando un programma di caricamento batch in Perl si
possono raggiungere diverse centinaia di record al secondo di velocità grazie
ad una struttura complessiva snella e performante.

Ma non è tutt'oro ciò che luccica. L'installazione di Oracle su Linux è assai
più complessa che su NT, ma assolutamente non impossibile.
Consiglio vivamente di leggere la documentazione presente sul cd o
sull'immagine scaricata, senza tuttavia prenderla come oro colato. Diverse
cose che vengono descritte come assolutamente indispensabili sono in realtà
superflue e forvianti. Vedremo in seguito quali sono in passi veramente
determinanti.

REQUISITI HARDWARE

Oracle non è tanto tollerante quanto Linux. Anche se quest'ultimo si
accontenta in alcuni casi di veri e propri ruderi Oracle è invece molto
esigente, specialmente in termini di RAM.
Se non avete almeno 128MB dimenticatevi che tutto funzioni al meglio. Questo
valore è infatti lo stretto indispensabile. 256 o 512 sono vivamente
consigliati.
Le prove che ho effettuato personalmente sono state eseguite su un portatile
PIII 450 con 128MB e tutto sommato andava in modo soddisfacente.
Personalmente suggerirei di rimanere in questi parametri e di affidarsi per il
resto (Scheda video , MB, ecc.) a componentistica standard. Se Linux funziona
correttamente sia in modalità testo che soprattutto in X siamo a buon punto.

REQUISITI SOFTWARE - SCELTA DELLA DISTRIBUZIONE

Per i neofiti: le installazioni di Linux NON SONO TUTTE UGUALI!
Ogniuna di loro ha pro e contro. Chi ha lavorato un po' in Linux ha
sicuramente effettuato una caterva di installazioni da cd in omaggio nelle
riviste, avrà quindi una distribuzione preferita. Salvo divieti assoluti che
citerò tra poco può tranquillamente usare quella che conosce meglio.
Per chi non avesse esperienze di utilizzo la mia preferita è Mandrake 7.1,
anche se l'ho installato senza problemi anche su Suse 6.4 e RedHat 6.2
Il requisito fondamentale sono le glibc 2.1.3 (o per lo meno la famiglia 2.1)
quindi scartiamo RedHat 7 che esce con le 2.2 .
Anche se esiste una patch (ftp.kernel.org/pub/software/libs/glibc/hjl/)
probabilmente questa procedura non è approvata e testata da Oracle, che
tuttavia consiglia ufficialmente di utilizzare RedHat 6.2 con le dovute patch
di sicurezza.

REQUISITI SOFTWARE - ALTRI

-X Windows tanto per cominciare, non importa se Gnome o KDE (meglio lasciar
perdere gli altri), ma ci deve essere e correttamente funzionante.
-Qualche compilatore (c,gcc,ecc.). Se in fase di installazione avete
selezionato "Developement" dovreste essere a posto.
-Java SDK (vedi più avanti).

RICONFIGURAZIONE DEL KERNEL

Oracle dice all'inizio del manuale di installazione che è necessario cambiare
alcuni parametri di configurazione della memoria per poter procedere con
l'installazione. Questo non è del tutto esatto. Oracle può tranquillamente
essere installato senza procedere con la riconfigurazione del kernel, dato che
praticamente tutti i parametri già si trovano di default all'interno dei
requisiti.
N.B. Se state impostando un database personale per poter sviluppare non vi
preoccupate della riconfigurazione. Tutto funzionerà correttamente. Se
altrimenti state installando il DB su una macchina di produzione e il carico
di lavoro previsto è elevato allora vale la pena di ritoccare qualcosa.
L'unico parametro che vale la pena di considerare è l'impostazione SHMMAX, e
solo nel caso di un db molto pesante su di una macchina con più di 64MB di
ram.
Se ve la sentite ecco come si cambia:
ATTENZIONE: Cambiare un parametro del kernel ncessita la sua ricompilazione.
Se non lo avete mai fatto è assolutamente indispensabile che diate un occhiata
ad un buon libro che sieghi passo per passo questa difficile operazione e le
sue oltre 100 opzioni quando si esegue lo script.
Se non siete sicuri di qualcosa e scegliete una strada sbagliata potreste
impedire al sistema di ripartire!

Modifica parametri di memoria

1) Editate il file shmparam.h

> cd /usr/src/linux/include/asm
> vi shmparam.h

2) Poco al di sotto dell'inizio c'è una linea che dice "#define SHMMAX
0x2000000". Il valore 0x2000000 è l'esadecimale di 32mega.
Oracle dice che questo valore dovrebbe essere metà della memoria fisica della
macchina. Su una macchina di 128Mb può essere cambiato a 0x4000000 (poco più
di 64M)
Gli altri valori sono:
0x4000000 = 67108854
0x6000000 = 100663296
0x8000000 = 134217728
0x10000000 = 268435456
0x20000000 = 536870912

3) Salvate il file

4) Ricompilate il kernel

COSA DOWNLOADARE PRIMA DELL'INSTALLAZIONE - IL FILE DI ORACLE

Lo potete trovare su technet.oracle.com. Il file che vi serve è linux817ee.tar
per l'inglese, oppure linux817it.tar per l'italiano (sono equivalenti).
Il file è grossino, circa 500MB. Potete anche ordinare un CD gratuito sul sito.
- Loggatevi come root
- Scaricate il file in /usr/src
- Scompattatelo:

  > cd /usr/src
  > tar xvf linux817it.tar

COSA DOWNLOADARE PRIMA DELL'INSTALLAZIONE - JAVA SDK

Oracle (i release 3 ha bisogno del JDK 1.1.8. Non la versione succesiva o
precedente, ma esattamente quella! E la cerca in /usr/local/java, metteremo
quindi il jdk in /usr/local e creeremo un link.

- Loggatevi come root
- Scaricate il file jdk118_v3-glibc-2.1.3.tar.bz2 (consiglio di andare in
ftpsearch.lycos.com e cercare un ftp server con dominio .it che lo contenga),
sono circa 13Mb. Mettetelo in /usr/local

- Da una finestra di terminale scompattatelo, installatelo e create il link:

  > cd /usr/local
  > bzip2 -d jdk118_v3-glibc-2.1.3.tar.bz2
  > tar xfv jdk118_v3-glibc-2.1.3.tar
  > ln -s /usr/local/jdk118_v3 /usr/local/java

PREINSTALLAZIONE

Prima di procedere all'installazione vera e propria è necessario creare alcuni
utenti e gruppi ed impostale i diritti.

- Aprite una finestra terminale

- Loggatevi come root

- Create i gruppi oinstall (installazione), dba (amministrazione) e oper
(manutenzione)
 > groupadd oinstall
 > groupadd dba
 > groupadd oper

- Create la home directory per l'utente oracle
 > mkdir /home/oracle

- Create l'utente ORACLE con oinstall come gruppo primario e dba come
secondario
 > useradd oracle -g oinstall -G dba,oper

- Impostategli la password
 > passwd oracle

- Create la directory di installazione (per semplificare installiamo software
e database nella stessa)
 > mkdir /u01

- Impostiamo proprietario e diritti su questa directory
 > chown oracle.dba /u01
 > chmod 775 /u01

- Disconnettetevi da root

Impostazione dell'ambiente oracle

- Loggatevi come oracle

- Verificate che la umask sia 022
 > umask
Se il risultato non dovesse essere 022 dovrete impostarlo manualmente nel
.bash_profile (vedi più avanti)

- Editate il file .bash_profile (o createlo se occorre)
 > cd
 > vi .bash_profile (potete usare il vostro editor preferito)

Aggiungete le seguenti righe:

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/8.1.7; export ORACLE_HOME
ORACLE_SID=ora1; export ORACLE_SID
(Se volete chiamare l'istanza in modo differente potete farlo, max 8
caratteri)
PATH=$PATH:/u01/app/oracle/product/8.1.7/bin; export PATH
CLASSPATH=.:/u01/app/oracle/product/8.1.7/jdbc/lib/classes111.zip; export CLASSPATH
LD_LIBRARY_PATH=/u01/app/oracle/product/8.1.7/lib; export LD_LIBRARY_PATH
umask 022 (se il test precedente non resituiva il valore corretto)
ORA_NLS33=/u01/app/oracle/product/8.1.7/ocommon/nls/admin/data; export ORA_NLS33

NLS_LANG=italian; export NLS_LANG
(se avete un impostazione inglese: NLS_LANG=american)

- Disconnettetevi e riloggatevi (sempre come Oracle)

- Aprite una finestra e verificate che le variabili d'ambiente siano state
correttamente impostate
 > env

INSTALLAZIONE

Qualcuno di vou starà pensando: "Se questa è la fase preliminare, figuriamoci
l'installazione vera e propria!!!". Non vi preoccupate, il peggio è passato.
Il resto sono solo conferme da dare ad un programma di installazione grafico.

- Loggatevi come Oracle (assolutamente!)

- In una finestra terminale posizionatevi nella dir contenente i files
d'installazione
 > cd /usr/src/Disk1

- Lanciate l'installer
 > ./runInstaller

- Compare una schermata GUI. "Welcome to the Java-based Oracle installer"

- Cliccate su NEXT

- Verificate che la directory d'origine contenga /usr/src/Disk1/stage/products.jar

- La directory di destinazione dovrebbe essere la stessa della variabile
d'ambiente $ORACLE_HOME

- Cliccate su NEXT

- Come gruppo UNIX impostate "oinstall". Cliccate su NEXT

- Una finestrella vi chiederà di eseguire lo script orainstRoot.sh. Ecco come
fare:

     - Aprite una nuova finestra terminale
     - Impostatela a root
        > su root ( e digitate la password corrispondente)
     - Posizionatevi nella directory destinazione di Oracle
        > cd $ORACLE_HOME
     - Eseguite lo script
        > ./orainstRoot.sh

- Lasciate aperto il terminale a root, servirà più tardi.

- Tornate sulla finestrella e cliccate RIPROVA

- Ora vi trovate davanti la scelta dei prodotti. Selezionate Oracle 8i
Enterprise Edition 8.1.7.0.0 e cliccate NEXT

- Nello schermo seguente selezionate TIPICA e cliccate su NEXT

- Vi viene chiesto il nome del database globale, digitate ciò che avete
impostato nel .bash_profile come ORACLE_SID

- La richiesta successiva riguarda la posizione dei file del db. Se avete
creato solo /u01 dovreste già trovare l'impostazione corretta di default.

- Vi viene chiesta la home directory del JDK. Assicuratevi che sia /usr/local/java

- Cliccate il bottone INSTALLA

Il software si sta installando! Mitico!

- Dopo che tutti i files sono stati copiati e linkati un'altra finestrella vi
chiederà di eseguire uno script a root.
    - Tornate nel terminale di prima
     > cd $ORACLE_HOME
     > ./root.sh
    - Quando vi viene chiesto il percorso local bin cliccate enter
     > exit (per uscire dai privilegi root)
     > exit (per chiudere la finestra)

- Ritornate alla finestrella e cliccate OK

- Ora parte la configurazione Net8. Tutto ciò che dovete fare è selezionare la
casella "Eseguire una configurazione tipica" e cliccare su NEXT

- Di seguito parte il Database configuration assistant. Nulla da fare tranne
cliccare su OK quando la configurazione è terminata

- Quando il DCA ha finito Oracle installa il WebServer sulla porta 7777. Anche
qui nulla da toccare

- Siete ora alla schermata di fine installazione. Cliccate ESCI e confermate.

- Tutto il software è installato. Ce l'avete fatta!!!

ATTENZIONE
Gli account Oracle di amministrazione sono:
sys (pwd: change_on_install)
system (pwd: manager)

AVVIO DEL DATABASE

Anche se ora tutti i servizi oracle sono attivi, dopo un riavvio della
macchina sarà necessario avviarli manualmente. Ecco come:

- Loggatevi come oracle

- Lanciate il listener
 > lsnrctl start

- Avviate il DB
 > svrmgrl
 > connect internal
 > startup
 > quit

UTILIZZO DI ORACLE

Da questo momento Oracle è utilizzabile tranquillamente da qualsiasi client in
rete con la stessa configurazione di NT o quant'altro.
Per accedervi da console è sufficente digitare > sqlplus
Se volete un ottimo esempio di come accedervi via programmazione in Perl
suggerisco di visitare il sito http://dbi.perl.org/




































































































































































































































-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.pluto.it/pipermail/pluto-ildp/attachments/20010626/71762a91/attachment.html>


Maggiori informazioni sulla lista pluto-ildp