Oracle database

Oracle database

In informatica Oracle Database è uno tra i più famosi database management system (DBMS), cioè sistema di gestione di basi di dati, scritto in linguaggio C.

Fa parte dei cosiddetti RDBMS (Relational DataBase Management System) ovvero di sistemi di database basati sul Modello relazionale che si è affermato come lo standard dei database dell’ultimo decennio.

La società informatica che lo produce, la Oracle Corporation, è una delle più grandi del mondo, fondata nel 1977 da Lawrence J. Ellison (attuale amministratore delegato, Chief Technology Officer ed importante azionista), Bob Miner e Ed Oates, con sede centrale in California.

La prima versione di Oracle Database disponibile pubblicamente risale al 1979, da allora sono state introdotte numerose modifiche e miglioramenti per seguire gli sviluppi tecnologici, fino ad arrivare alla versione 12c R2.

Una base di dati Oracle comprende istanze e dati memorizzati. Un’istanza è costituita da un insieme (set) di processi di sistema e

strutture di memoria che interagiscono con i dati memorizzati. Tra questi processi i seguenti sono necessari per il funzionamento dell’istanza:

  • SMON (monitor di sistema)
  • DBWR (scrive nei datafile)
  • LGWR (scrive nei logfile)
  • CKPT (scrive i checkpoint controllandone la consistenza)
  • ARCH (archiviatore dei log delle transazioni per il DB in modalità archive log mode)

Un compito importante è svolto dalla System Global Area (SGA), una regione di memoria condivisa che contiene dati ed informazioni per il controllo di un’istanza Oracle. La SGA si occupa della cache, i dati bufferizzati, i comandi SQL e informazioni sull’utente.

Oracle memorizza i dati sia logicamente, sotto forma di tablespace, sia fisicamente, sotto forma di file (datafile). Un tablespace, formato da uno o più datafile, contiene vari tipi di segment; ogni segment a sua volta si suddivide in uno o più extent. Ogni extent comprende gruppi contigui di blocchi di dati (data block), questi ultimi sono la più piccola informazione memorizzabile da Oracle. A livello fisico, i file comprendono almeno due o più extent. Fino alla versione 8i la dimensione del blocco di dati era stabilita alla creazione del database e non poteva più essere modificata; dalla versione 9i in poi i blocchi di dati possono essere di dimensione variabile, sebbene ogni tablespace debba necessariamente essere costituita da datafile con la stessa dimensione di blocco dati.

Oracle tiene traccia dei dati memorizzati tramite l’aiuto di informazioni presenti nelle tabelle di sistema. Esse contengono il dizionario dei dati e se presenti indici e cluster. Un dizionario dati consiste di una collezione di tabelle che contengono informazioni riguardo a tutti gli oggetti del database.

Se un amministratore della base di dati ha attivato la funzione RAC (Real Application Clusters), allora istanze multiple, solitamente su server differenti, si collegano ad una Storage Area Network o sistema similare i cui dischi sono visibili e utilizzabili da tutti i nodi del cluster. Questo scenario può offrire numerosi vantaggi, tra cui maggiori performance, scalabilità e ridondanza. Comunque, il supporto e la gestione diviene più complesso e molti siti evitano di usare RAC.

Tra le varie potenzialità possiamo memorizzare ed eseguire stored procedure e funzioni. Grazie al PL/SQL, un’estensione procedurale del linguaggio SQL, sviluppato da Oracle, e a Java possiamo scrivere funzioni, procedure, trigger e package.

Oracle è un RDBMS che se configurato e gestito in maniera appropriata, garantisce una sicurezza dei dati molto elevata.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *