(Italiano) Come usare Oracle Database 19c Pre-Built Developer VM
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:
- Download e installazione di Oracle VM VirtualBox
- Download di Oracle DB Developer VM
- Importazione della Virtual Appliance su Oracle VM VirtualBox
- 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).
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).
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.
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.
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.
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.
Prima di poter avviare la macchina virtuale è necessario:
- 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
- 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.
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.
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.
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).
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).
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:
- i servizi Oracle del database in particolare siano in listen;
- la connessione al database via SQL*Plus funzioni correttamente;
- la VM sia in grado di comunicare con la rete pubblica (internet);
- 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).
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.
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).
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.
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:
- How to setup Docker container Oracle Database 19c for Liferay Development Environment
- How to build a Docker Liferay 7.2 image with the Oracle Database support
- Developer Day - Hands-on Database Application Development
- SQL Developer 21.4.1 Downloads
- Docker Images from Oracle
- [PDF] - Liferay Portal CE 7.4: Come configurare Oracle Database 19c