(Italiano) Come usare Oracle Database 19c Pre-Built Developer VM

Sorry, this entry is only available in Italiano.

Quante volte ci siamo trovati ad affrontare l’arduo setup di una istanza Oracle Database per il nostro ambiente di sviluppo e "sputare decisamente sangue"?

Immagino che queste "volte" siano state anche troppe, ecco un buon motivo per iniziare a utilizzare quello che Oracle mette a disposizione di noi sviluppatori, ovvero, le Pre-Built Developer VMs per Oracle VM VirtualBox.

Nel corso di questo articolo vedremo come fare il setup di una VM Oracle Database 19c dal Database Virtual Box Appliance che Oracle fornisce.

1. Requisiti

Prima d’iniziare è necessario verificare che i seguenti requisiti siano soddisfatti.

  • Sistema Operativo che supporti la versione di Virtual Box 6.x
  • Almeno 2 GByte di RAM
  • Almeno 15 GByte di spazio per lo storage
  • Processo da almeno 2 GHz
  • Privilegi di amministratore

La Virtual Appliance di riferimento è del 20/06/2019 il cui contenuto è indicato a seguire.

  • Oracle Linux 7
  • Oracle Database 19.3
  • Oracle SQL Developer 19.1
  • Oracle Application Express 19.1
  • Hands-On-Labs (accessibile via the Toolbar Menu in Firefox)
    • Oracle REST Data Services 19.1
    • Oracle SQL Developer Data Modeler 19.1
    • Oracle XML DB

Attenzione! Questa Virtual Appliance è da utilizzare solo in ambienti di sviluppo/test, non deve essere utilizzata in un ambiente di pre-produzione o produzione.

2. Setup della Virtual Appliance

La procedura di setup consta di alcuni passi riassunti a seguire:

  1. Download e installazione di Oracle VM VirtualBox
  2. Download di Oracle DB Developer VM
  3. Importazione della Virtual Appliance su Oracle VM VirtualBox
  4. Avvio e test della Virtual Appliance

2.1 Download e installazione di Oracle VM VirtualBox

Dalla home page di Oracle VM VirtualBox è possibile effettuare il download dei binari per il proprio sistema operativo. Nel mio caso ho provveduto a scaricare la versione per MacOS.

La procedura d’installazione è molto semplice e non è oggetto di questo articolo; in caso di difficoltà o approfondimenti, fare riferimento allo User Manual. La versione di riferimento per questo articolo è la 6.1.30. La Figura 1 mostra le informazioni di dettaglio circa la versione installata sul mio MacBook Pro con macOS Monterey (versione 12.1).

Figura 1 - Informazioni su VirtualBox

Figura 1 - Informazioni su VirtualBox

 

 

2.2 Download di Oracle DB Developer VM

Dal link Oracle DB Developer VM si accede al file DeveloperDaysVM2019-05-31_20.ova che contiene la Virtual Appliance. Il formato OVA/OVF è uno standard per il packaging e distribuzione delle Virtual Appliance.

Il download del file richiede la disponibilità di un account Oracle (che alla bisogna potete creare gratuitamente). La dimensione del file è di oltre 7 GByte, consiglio pertanto di verificare al termine del download il checksum del file. In Console 1 è indacato uno dei modi per la verifica dell’hash utilizzando i comandi md5 e sha disponibili su macOS, Unix/Linux e Windows 10.

  • MD5 (sum): 20b5a5bd91cfe9d4f5acf5128f06146e
  • SHA1: e0b9f8af8158664139b9ca970c3500752fc15fd2

 

# Verify the checksum MD5 and SHA1 on macOS
$ md5 DeveloperDaysVM2019-05-31_20.ova
$ shasum DeveloperDaysVM2019-05-31_20.ova

# Verify the checksum MD5 and SHA1 on Unix/Linux
$ md5sum DeveloperDaysVM2019-05-31_20.ova
$ sha1sum DeveloperDaysVM2019-05-31_20.ova


# Verify the checksum MD5 and SHA1 on Windows 10
> certutil -hashfile DeveloperDaysVM2019-05-31_20.ova MD5
> certutil -hashfile DeveloperDaysVM2019-05-31_20.ova SHA1

 

2.3 Importazione della Virtual Appliance su Oracle VM VirtualBox

Una volta ottenuto il file ova, è possibile procedere con l’importazione dello stesso tramite la funzionalità Import Appliance (o Importa Applicazione Virtuale) di Oracle VM VirtualBox a cui possiamo accedere dal menù File (vedi Figura 2).

 

Figura 2 - Accesso alla funziona di Import Appliance (o Importa Applicazione Virtuale)

Figura 2 - Accesso alla funziona di Import Appliance (o Importa Applicazione Virtuale)

Dopo aver cliccato sulla voce di menù indicata in precedenza, dovreste vedere una finestra di dialogo come quella mostrata in Figura 3. L’unica informazione da specificare è la posizione del file OVA, dopo di ché sarà possibile proseguire cliccando sul pulsante Continua.

 

Figura 3 - Primo step d'importazione Virtual Appliance: specificare la locazione del file OVA

Figura 3 - Primo step d'importazione Virtual Appliance: specificare la locazione del file OVA

 

Dopo il clic sul pulsante Continua sarà aperta una successiva finestra di dialogo che mostra le informazioni di dettaglio (come CPU, RAM, età.) della Virtual Appliance (vedi Figura 4). È possibile cambiare alcune impostazioni ma consiglio di lasciare quelle proposte; proseguiamo quindi cliccando sul pulsante Importa.

 

Figura 4 - Secondo step d'importazione Virtual Appliance: riepilogo informazioni di dettalio della VA e start importazione

Figura 4 - Secondo step d'importazione Virtual Appliance: riepilogo informazioni di dettaglio della VA e start importazione

 

La Figura 5 mostra l’avanzamento del processo d’importazione. La durata dell’importazione dipende dalla potenza della propria e dalla disponibilità di risorse nel momento dell’importazione. Nel mio caso il processo d’importazione ha avuto una durata di circa 2 minuti.

 

Figura 5 - Processo d'importazione della Virtual Appliance

Figura 5 - Processo d'importazione della Virtual Appliance

 

Una volta terminato il processo d’importazione, dovreste avere una situazione come quella mostrata in Figura 6, ovvero, una nuova Macchina Virtuale chiamata Oracle DB Developer VM.

 

Figura 6 - Macchina virtuale Oracle DB Developer VM importata

Figura 6 - Macchina virtuale Oracle DB Developer VM importata

 

Prima di poter avviare la macchina virtuale è necessario:

  1. Verificare e/o creare una nuova rete host. Questo consentirà l’accesso ai servizi del database Oracle anche dalla rete del host, ovvero, del nostro PC
  2. Aggiungere una nuova scheda di rete alla macchina virtuale e configurarla per usare la rete dell’host

Per il primo step, accedere alla finestra del Gestore di rete dell’host dal menù File -> Gestore di rete dell'host e dovreste vedere quanto mostrato in Figura 7.

 

Figura 7 - Gestore di rete dell'host

Figura 7 - Gestore di rete dell'host

 

In questo caso non risulta nessuna interfaccia di rete host presente, dobbiamo quindi procedere con la creazione, step ch’è possibile fare cliccando sul pulsante che riporta l’etichetta Crea.

Nel caso in cui fossero già presenti una o più configurazioni di rete host, sarebbe possibile sfruttarne una tra quelle disponibili.

La Figura 8 mostra la nuova rete host (vboxnet0) appena creata e le caratteristiche di base. Dopo la creazione della rete dobbiamo attivare l’opzione Server DHCP lasciando le impostazioni di default. Questa rete sarà quella che andremo poi a specificare sulla configurazione della nuova scheda di rete della macchina virtuale appena importata.

Importante! Dopo aver impostato il flag per attivare il server DHCP, dobbiamo chiudere e riaprire Oracle VM VirtualBox, questo per fa si che il server DHCP si avvi correttamente.

 

Figura 8 - Nuova rete host 192.168.56.1/24 con DHCP attivo

Figura 8 - Nuova rete host 192.168.56.1/24 con DHCP attivo

 

Per il secondo step, occorre aggiungere dalle impostazioni di rete della VM, una seconda scheda di rete impostando la tipologia ("Connessa a") a scheda solo host, specificando in questo caso il nome della rete host creata nel precedente step.

La Figura 9 mostra la configurazione della nuova scheda di rete configurata per essere connessa alla rete dell’host (vboxnet0), mentre la Figura 10 il riepilogo delle impostazioni della VM dopo la configurazione della nuova scheda di rete.

 

Figura 9 - Configurazione delle seconda scheda di rete connessa alla rete dell'host

Figura 9 - Configurazione delle seconda scheda di rete connessa alla rete dell'host

 

Figura 10 - Scheda di rete addizionale visibile anche sul riepilogo della VM

Figura 10 - Scheda di rete addizionale visibile anche sul riepilogo della VM

2.4 Avvio e test della Virtual Appliance

Completato lo step d’importazione e modifica delle impostazioni di rete, è possibile procedere con l’avvio della macchina virtuale attraverso il “pulsantone verde” di avvio. In Figura 11 è mostrato il boot menù di Grub con in evidenza il sistema operativo Oracle Linux che sarà avviato di default (senza alcuna azione da parte nostra).

 

Figura 11 - Avvio della VM. Grub menù di avvio del sistema operativo Oracle Linux

Figura 11 - Avvio della VM. Grub menù di avvio del sistema operativo Oracle Linux

 

Dopo qualche minuto, tempo che può variare anche di molto in base alle proprie risorse hardware, dovreste trovarvi davanti il desktop di GNOME così come mostrato in Figura 12 (anche se la disposizione degli oggetti sul desktop potrebbe essere diversa).

 

Figura 12 - Desktop GNOME dopo l'avvio della VM

Figura 12 - Desktop GNOME dopo l'avvio della VM

 

La Figura 12 evidenzia alcuni dati importanti che serviranno per connetterci al database Oracle e alla macchina tramite SSH. A seguire riporto questi parametri.

  • Username/Password: oracle/oracle (è anche sudo user)
  • Oracle SID: orclcdb
  • Pluggable DB: orcl

Arrivati a questo punto dobbiamo verificare che:

  1. i servizi Oracle del database in particolare siano in listen;
  2. la connessione al database via SQL*Plus funzioni correttamente;
  3. la VM sia in grado di comunicare con la rete pubblica (internet);
  4. la nuova scheda di rete sia vista correttamente dal sistema operativo Oracle Linux e provvedere alla configurazione via DHCP.

In Console 2 sono indicati i comandi necessari per ottenere le informazioni indicate in precedenza.

 

# Verifica che il servizio SQLNet sia in listen sulla porta standard TCP/IP 1521
$ netstat -ltnp

# Verifica di connessione al database Oracle via SQL*Plus con l'utente che ha il ruolo di SYSDBA
$ sqlplus sys/oracle as sysdba

# Verifica connettività verso la rete pubblica (internet)
$ ping www.google.it

# Verifica della configurazione della scheda di rete connessa alla rete host creata in precedenza
$ ifconfig

# Configurazione della scheda di rete eth1 (vedi output del 
# comando ifconfig) per acquisire l'indirizzo IP dal server 
# DHCP.
$ sudo dhclient eth1

 

Le Figure 13, 14 e 15 illustrano nell’ordine indicato in Console 2 l’output dei comandi impartiti direttamente sulla macchina. Dalla Figura 13 è possibile notare che il servizio SQLNet sia correttamente in LISTEN sulla porta TCP/IP 1521 (tutte le interfacce 0.0.0.0).

 

Figura 13 - Verifica che il servizio SQLNet di Oracle sia attivo sulla porta TCP/IP 1521

Figura 13 - Verifica che il servizio SQLNet di Oracle sia attivo sulla porta TCP/IP 1521

 

Dalla Figura 14 è possibile notare come la connessione al database Oracle attraverso SQL*Plus avviene nel modo corretto mostrando il banner con le informazioni di dettaglio circa l’istanza Oracle.

 

Figura 14 - Test di connessione al servizio SQLNet via SQLPlus come utente con il ruolo di SYSDBA

Figura 14 - Test di connessione al servizio SQLNet via SQLPlus come utente con il ruolo di SYSDBA

 

Sul desktop (vedi Figura 12) è disponibile il link al tool SQL Developer che potreste utilizzare come interfaccia verso il database Oracle. Il tool è già configurato con una connessione al database come utente SYSDBA. La versione di SQL Developer installata sulla VM è la 19.1 abbastanza vecchiotta.

Dalla Figura 15 è evidente la corretta configurazione della scheda di rete che ha acquisito dal server DHCP l’indirizzo IP 192.168.56.5.

Per rendere permanete l’attivazione della scheda di rete via DHCP, è possibile agire sul flag Connect automatically e poi su Apply sul dettaglio della configurazione della scheda di rete accessibile attraverso il Network Manager (vedi Figure a seguire).

 

Figura 15 - Verifica della corretta configurazione della scheda di rete configurata per usare la rete dell'host

Figura 15 - Verifica della corretta configurazione della scheda di rete configurata per usare la rete dell'host

 

Figura 16 - Accesso alla configurazione delle schede di rete

Figura 16 - Accesso alla configurazione delle schede di rete

 

Figura 17 - Lista delle schede di rete presenti sul sistema

Figura 17 - Lista delle schede di rete presenti sul sistema

 

Figura 18 - Attivazione permanente della nuova scheda di rete eth1 connessa alla rete dell'host

Figura 18 - Attivazione permanente della nuova scheda di rete eth1 connessa alla rete dell'host

3. Connessione al database dalla macchina host

Terminato il setup della VM di Oracle Database, possiamo interagire con i servizi di quest’ultima direttamente dalla nostra macchina host, grazie al fatto che siamo nelle condizioni di poter raggiungere il servizio SQLNet e SSH.

# Connessione alla VM via SSH
# L'indirizzo IP specificato è quello ricavato dal comando 
# ifconfig eseguito sulla VM. Indirizzo asseganto dal server
# DHCP della rete dell'host. Ricordo che la password di default
# dell'utente oracle è oracle
$ ssh oracle@192.168.56.5

Per instaurare la connessione al database siete ovviamente liberi di usare qualunque client SQL che supporti Oracle. Preferisco restare nell’intorno Oracle e per questo consiglio d’installare e usare SQL Developer la cui ultima versione è la 21.41.

Una volta installato e avviato SQL Developer, possiamo aggiungere la connessione al database utilizzando i seguenti parametri.

  • Nome Utente: sys
  • Password: oracle
  • Ruolo: SYSDBA
  • Nome Host: 192.168.56.5 (indirizzo IP della propria VM che potrebbe essere diverso quello indicato qui e in Figura 19)
  • Nome Servizio: orcl

Le Figure 19 e 20 mostrano il setup della connessione al database e l’esecuzione di una query.

 

Figura 19 - Setup della connesione dal database Oracle

Figura 19 - Setup della connesione dal database Oracle

 

Figura 20 - Esempio di esecuzione di una query sul database Oracle

Figura 20 - Esempio di esecuzione di una query sul database Oracle

A questo punto abbiamo una nostra VM di sviluppo Oracle che possiamo usare per ospitare i database dei progetti su cui lavoriamo.

4. Risorse utili

A seguire una lista di risorse utili a scopo di approfondimento:

Antonio Musarra

I began my journey into the world of computing from an Olivetti M24 PC (http://it.wikipedia.org/wiki/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until … Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.

You may also like...