Oracle
Da Wikipedia, l'enciclopedia libera.
Oracle Database | |
---|---|
Sviluppatore | Oracle Corporation |
Ultima versione | 10g Release 2 / 2005 |
OS | Multipiattaforma |
Genere | RDBMS |
Licenza | Proprietaria |
Sito web | www.oracle.com |
Oracle è uno tra i più famosi database management system (DBMS), cioè sistema di gestione di basi di dati.
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 10g.
Indice |
[modifica] Struttura del Database
Una base di dati Oracle comprende istanze e dati memorizzati. Le istanze sono un 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:
- PMON (monitor dei processi)
- SMON (monitor di sistema)
- DBWn (scrive nei datafile)
- LGWR (scrive nei logfile)
- CKPT
Un compito importante è svolto dal System Global Area (SGA). L'SGA si occupa della cache, i dati bufferizzati, i comandi SQL e informazioni sull'utente. Di importanza fondamentale è anche un archivio delle transazioni (online redo logs), che possono a loro volta essere memorizzate in un offline redo log, che darà le basi per un eventuale recovery dei dati in caso di crash.
Oracle memorizza i dati logicamente, sotto forma di tablespace e 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 sitema. Esse contengono il dizionario dei dati e se presenti indici e cluster. Un dizionario dei dati consiste di una collezione di tabelle che contengono informazioni riguardo tutti gli oggetti utente 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 offre numerosi vantaggi, 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.
[modifica] Curiosità
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 l'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.
[modifica] Edizioni
- 'Standard Edition' (SE) funzionalità database di base.
- 'Enterprise Edition' (EE) include maggiori funzionalità rispetto la 'Standard Edition', specialmente dal punto di vista delle prestazioni e della sicurezza.
- 'Standard Edition One', introdotta a partire da Oracle 10g, è caratterizzata da alcune caratteristiche-limitazioni, come l'utilizzo su macchine dotate di 1 o 2 processori.
- 'Express Edition' ('Oracle Database XE'), introdotta nel 2005, è una versione di Oracle 10g distribuita gratuitamente. Si pone direttamente in concorrenza con Microsoft SQL Server 2005 Express Edition
[modifica] Piattaforme supportate
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:
- Linux x86
- Linux x86-64
- Linux POWER
- Linux zSeries
- Linux Itanium
- Microsoft Windows x86
- Microsoft Windows x86-64
- Microsoft Windows Itanium
- Sun Solaris x86
- Sun Solaris x86-64
- Sun Solaris SPARC
- HP HP-UX PA-RISC
- HP HP-UX Itanium
- HP Tru64 UNIX Alpha
- HP OpenVMS Alpha
- IBM AIX5L POWER
- IBM z/OS zSeries
- Apple Mac OS X Server PowerPC