Installazione Oracle Express 10g e JDeveloper 11g in Ubuntu
Pochi semplici passi per installare il vostro db “preferito”…
- sudo apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio libstdc++5
- aggiungiamo un nuovo repository per synaptic:
- sudo vim /etc/apt/sources.list
- alla fine del file inseriamo la riga: deb http://oss.oracle.com/debian unstable main non-free
- sudo apt-get update
- a questo punto dovremmo vedere una cosa del genere: «W: GPG error: http://oss.oracle.com unstable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 2E2BCDBCB38A8516». Per risolvere il problema, dobbiamo procedere all’autenticazione del pacchetto:
- sudo wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle
- sudo apt-key add RPM-GPG-KEY-oracle
- sudo apt-get update
- sudo apt-get install oracle-xe-universal
- Come suggerito a fine installazione, digitiamo: sudo /etc/init.d/oracle-xe configure. Da qui sara’ possibile impostare le porte da utilizzare per la connessione, la password per l’utente SYSTEM (admin dei db oracle) e l’opzione per avviare o meno il db al boot (in ogni caso il db sara’ avviato a fine configurazione).
- verificare lo stato del server oracle: sudo /etc/init.d/oracle-xe status
Al termine dell’installazione dovremmo avere “dba” come nuovo gruppo utenti…per poter accedere al db dovremmo aggiungervi il nostro utente:
- verifichiamo a quali gruppi apparteniamo: groups NOME_UTENTE
- nel caso non dovesse comparire “dba” nell’elenco, digitiamo:
useradd -G dba NOME_UTENTE
Sembra essere tutto apposto adesso: possiamo accedere alla home page del db (suggerita a fine log di configurazione), possiamo gestirlo…ma come facciamo ad importare il dump di un nostro precedente db?
In realta’ per un completo utilizzo del server oracle, dovremo settare correttamente le variabili ambiente:
- mettiamoci nel classpath di installazione di Oracle Express, nel mio caso “/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin“
- copiamo lo script per il set degli “environment variable path”: sudo cp oracle_env.sh /etc/profile.d/
- contollando i valori delle variabili ambiente con echo $ORACLE_HOME, $ORACLE_SID dovremmo avere un output del genere: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server, XE
A questo punto dovremmo aver finito!
P.S: ricordiamoci, nel caso in cui non avessimo scelto l’opzione di far partire oracle al boot, di avviare il server con il comando: sudo /etc/init.d/oracle-xe restart
Mettiamo subito alla prova il nostro db con bell’import:
- imp userid=USER/PSW file=”NOME_FILE_DUMP.dmp” full=Y
Se abbiamo fatto tutto correttamente (in particolare il set delle variabili ambiente) non dovremmo riscontrare problemi…tuttavia è possibile avere errori di questo tipo:
IMP-00058: ORACLE error 1034 encountered
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory
IMP-00005: all allowable logon attempts failed
IMP-00000: Import terminated unsuccessfully
Questo problema si risolve banalmente riavviando il server! Diverso invece il caso di questo errore apparentemente simile:
IMP-00058: ORACLE error 1034 encountered
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux Error: 13: Permission denied
IMP-00005: all allowable logon attempts failed
IMP-00000: Import terminated unsuccessfully
Questo errore, per quanto mi riguarda, restera’ sempre un mistero! Ho verificato i permessi di tutti i file ma non ho riscontrato nessuna anomalia, soprattutto considerando il fatto di aver gia’ aggiunto il mio utente al gruppo “dba”. Ho comunque risolto il problema sostituendo il pacchetto oracle-xe con oracle-xe-universal (vedi punto 6 dell’installazione).
N.B: Pe avere una visione piu’ dettagliata dei file ai quali il server non riesce ad accedere, consiglio di visionare il file di log che è possibile creare digitando: strace sqlplus /nolog 2> strace.log
N.B. avvio di JDev:
- PATH_JDEV/jdev/bin$ ./jdev
Nel caso in cui dovesse comparire, su terminale, un messaggio simile:
Oracle JDeveloper 11g Technology Preview 4 11.1.1.0.0 Copyright (c) 2008, Oracle. All rights reserved.
Type the full pathname of a J2SE installation (or Ctrl-C to quit), the path will be stored in ~/.jdev_jdk
Per proseguire, specificate appunto il path della vostra jvm; nel mio caso: /usr/lib/jvm/java-1.5.0-sun/
PASSI OPZIONALI:
SQL Developer
Dal sito Oracle è possibile scaricare un’ottima applicazione per l’organizzazione e la gestione dei database Oracle, SQL Developer.
Scaricate il programma ed unzippatelo. Dalla cartella creata “sqldeveloper” eseguiamo il comando:
- sh sqldeveloper
A questo punto ci verra’ chiesto di inserire nuovamente il path della JDK.