Oracle XE - Uno sguardo verso un dbms Oracle free

Oracle XE - Primi passi
G.Morreale

Introduzione:

Oracle XE è la versione free del re dei DBMS.
Con il seguente articolo diamo un occhio ai primi passi da muovere dopo l'installazione del pacchetto Oracle XE.

Limitazioni di Oracle XE

Prima di andare avanti vorrei però far presente che tale prodotto non è opensource come mysql o altri dbms e nella versione sono presenti le seguenti limitazioni:

MASSIMO 1 GB DI MEMORIA RAM USATA
MASSIMO 1 CPU
MASSIMO 4 gb di dati

Quindi anche se la macchina è dotata di 4 processori e 16 GB di Ram Oracle Xe utilizzerà solo una parte delle risorse secondo i limiti appena elencati.

Sql Developer

L'installazione di Oracle XE prevede un http listener in grado di rispondere sulla porta 8080.
L'applicazione installata permette di effettuare gran parte delle operazioni del dbms, è semplice e intutitiva.
Per darci un occhio provare a richiamare dal browser il seguente url: http://127.0.0.1:8080/apex/

Nonostante ciò ho preferito installare ed usare un tool gratuito fornito da Oracle che consente una gestione più completa del dbms oracle e non solo.

La Versione analizzata è la 1.5.1

La prima connessione

Non appena installato e avviato Sql Developer, bisogna aggiungere una nuova connessione per poter operare sul dbms.
Con il tasto destro del mouse è possibile aprire il menu a tendina in corrispondenza dell'icona "Connections" e scegliere "New Connection".

La form è già predisposta, basta indicare il nome della connessione, l'utente system e la password scelta in fase di installazione.
Si salva la connessione, si effettua un test di connettività, e se tutto è ok si procede con la connessione vera e propria.

Consiglio di salvare questa connessione come ORACLE SYSTEM, in modo da distinguerla con altre che creeremo successivamente.

Oggetti del DBMS

Una volta connessi compaiono una serie di oggetti, di seguito elenco e descrivo brevemente le funzionalità di tali elementi:




  • Tables - Le tabelle!
  • Views  - Tabelle virtuali
  • Indexes - Indici presenti nelle colonne delle varie tabelle
  • Packages - Possono contenere functions e/o procedures, è un elemento che serve a raggruparli.
  • Procedures - Procedure PL/SQL (Linguaggio di programmazione per dbms ORACLE)
  • Functions - Funzione in PL/SQL a differenza della precedente ritorna un valore
  • Queues - Code usate dalla tecnologia oracle AQ (Oracle Streams Advanced Queueing)
  • Queues Tables - Tabelle che contentongo i dati utilizzati dalle code.
  • Triggers - Blocchi di codice PL/SQL spesso associati a tabelle o schema. (implementabili in PL/SQL o Java), vengono eseguiti al verificarsi di determinate condizioni.
  • Types - Tipi di dato definiti dall'utente, da utilizzare ad esempio nella definizione di colonne.
  • Sequences - Algoritmi per la generazione automatica di primary key. (un esempio banale è l'autoincrement)
  • Materialized Views - Contiene i risultati di una view.
  • Materialized Views Logs - log dei cambiamenti sulle Materialized Views
  • Synonyms(Public) - Contiene una serie di alias, per chiamare in modo diverso i vari oggetti del db (tabelle, view, sequences etc. etc.)
  • Database Links(Public) - Contiene link verso database NON oracle, per consentire l'accesso mediante dbms oracle a database, quindi tabelle, viste etc NON oracle.
  • Directories - Contiene gli alias per directory del filesystem nel quale si trovano i LOB(dati in formato binario) o i dati esterni alle tabelle.
  • Java - Raccoglie eventuali sorgenti java
  • XML Schemas - Contiene gli schemi xml che definisco la struttura dei documenti xml presenti nel dbms
  • Recycle bin - Permette di recuperare oggetti del db sottoposti a comando drop
  • Other Users -  Contiene gli utenti definiti nel dbms

Riguardo al pannello presente nell'immagine di sopra, tutti gli elementi da "tables" fino a "other users" sono relativi all'utente con il quale si è effettuata la connessione.

Cliccando invece sul nodo "other users" e aprendo il nodo di uno degli utenti presenti verranno visualizzati tutti gli oggetti (tables,views, indexes, etc.) relativi a quel particolare utente.

Creare uno schema

In Oracle XE, non è possible creare più di un db per installazione(1 db <-> 1 computer), però esiste il concetto di schema con il quale la limitazione diventa in alcuni casi inesistente.

Lo schema è una collezione di oggetti del database (tabelle, view, procedure etc.)
Ogni schema è di proprietà di almeno un utente che ha lo stesso nome dello schema.

Se ad esempio siamo loggati con l'utente system, la cartella tables(ma anche gli altri oggetti) è relativa allo schema di system.

Quindi se volessimo creare uno schema diverso, dobbiamo creare un nuovo utente per il nuovo schema da creare e poi agire su di esso.


Conclusione

Oracle XE sembra essere una valida alternativa ai dbms free usati a livello desktop.
Ovviamente bisogna usare il prodotto in modo molto più approfondito per capire dove sono realmente i limiti di questo dbms rispetto alle versioni non free e rispetto ai dbms free come mysql o postgresql.
Nel successivo post descriverò il processo per importare i db mysql all'interno di oracle xe

No comments: