Oracle

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando altri significati, vedi Oracle (disambigua).
Oracle Database
Logo
Sviluppatore Oracle Corporation
Ultima versione 12c R1 / 01-07-2013 (2013)
Sistema operativo Multipiattaforma
Linguaggio C
Genere Relational database management system
Licenza Proprietaria
Sito web www.oracle.com/it

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

Oracle 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. È stata fondata nel 1977 ed ha la sua sede centrale in California. Il fondatore nonché Chief Executive Officer ed importante azionista è Lawrence J. Ellison.

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

Struttura del database[modifica | modifica sorgente]

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: (il primo non serve)

  • PMON (monitor dei processi)
  • 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.

Le strutture fisiche fondamentali per un'istanza sono:

  • control files: qui sono memorizzate informazioni essenziali al corretto funzionamento del database. Tra queste il DBID identificativo dell'istanza, il valore di CKPT per la sincronizzazione dei datafile e dati relativi ad alcune viste V$ da interrogare quando il DB stesso non è in stato di Open. È necessario averne almeno uno associato all'istanza; per maggior sicurezza possono esserne creati più di uno, il database stesso si occuperà della loro sincronizzazione, in modo da poter avviare il DB anche in stato di mount ed avviare un recovery.
  • l''archivio delle transazioni (online redo logs): i redologs sono necessari per il funzionamento del Db stesso, il numero minimo di redo logs è 2.
  • i rollback/undo segments
  • il tablespace system
  • un tablespace di tipo "temporaneo"

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), quest'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. [senza fonte]

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. È possibile attivare a questo proposito la modalità detta ARCHIVING (o ARCHIVELOG MODE). Essa consiste nel registrare tutte le transazioni che avvengono nel DB anche in file di sistema operativo che dovranno essere utilizzati in caso di DB RECOVERY dovuta a crash totale o parziale del sistema. In questa modalità è possibile sfruttare l'HOT BACKUP ossia il salvataggio dei dati a sistema acceso senza effettuare fermi. Le modalità per il backup a caldo (hot backup) sono diverse. Quella standard oracle è denominata RMAN ossia Recovery Manager. Nulla vieta comunque all'amministratore del DB di gestire il backup/restore delle istanze oracle in maniera manuale o automatica tramite scripting.

Curiosità[modifica | modifica sorgente]

Le vecchie versioni di Oracle, precedenti alla 10g, avevano uno schema di default chiamato scott. Una volta completato il processo di installazione, l'utente può collegarsi al database con lo username scott e password tiger. L'idea di chiamare uno schema scott è dovuta a Bruce Scott, uno dei primi impiegati alla Oracle; sua l'idea anche della password: Tiger era, infatti, il nome del suo gatto.

Edizioni[modifica | modifica sorgente]

  • 'Enterprise Edition' (EE) è l'ideale per le industrie e grandi aziende.
  • 'Standard Edition' (SE) è l'ideale per le medie aziende.
  • 'Standard Edition One' progettato per le Medie Imprese e dipartimenti aziendali (funziona su server a due processori).
  • 'Express Edition' ('Oracle Database XE') è totalmente gratuito, orientato a studenti e programmatori. Ha alcune limitazioni: può salvare al massimo 11 gigabyte per ogni utente su disco, ed usa al massimo un gigabyte di memoria principale, una sola cpu, un host.

Piattaforme supportate[modifica | modifica sorgente]

Prima del rilascio di Oracle9i, Oracle Corporation ha adattato il motore del proprio database ad una vasta gamma di piattaforme. Recentemente il supporto è stato consolidato ad un piccolo numero di piattaforme / sistemi operativi:

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica