Oracle Database: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
 
(266 versioni intermedie di oltre 100 utenti non mostrate)
Riga 1:
{{F|software|settembre 2023}}
{{stub informatica}}
{{Software
 
|Nome = Oracle Database
{{Infobox_Software |
|Screenshot =
nome = Oracle Database |
|Didascalia =
screenshot = |
|Sviluppatore = Oracle Corporation
didascalia = |
|UltimaVersione = 23c
sviluppatore = Oracle |
|DataUltimaVersione = 20 luglio 2023
versione_ultimo_rilascio = 10g Release 2 |
|UltimaVersioneBeta =
data_ultimo_rilascio = [[2005]]|
|DataUltimaVersioneBeta =
sistema_operativo = [[Windows]], [[Linux]] |
|SistemaOperativo = Multipiattaforma
genere = [[DBMS]]|
|Linguaggio = C
licenza = [[Proprietaria]]|
|Genere = RDBMS
sito_web = [http://www.oracle.com www.oracle.com]|
|Licenza = [[Software proprietario|Proprietaria]]
|Lingua =
|SoftwareLibero =
|SitoWeb = [http://www.oracle.com/it/index.html www.oracle.com/it]
}}
Convenzionalmente con il termine '''Oracle''' ci si riferisce ad uno tra i più famosi [[database management system]], cioè sistema di gestione di basi di dati.
 
'''Oracle Database''' è uno tra i più famosi [[software]] di [[database management system]] sviluppato da [[Oracle Corporation]]. Scritto in [[C (linguaggio)|linguaggio C]], che fa parte dei cosiddetti [[RDBMS]] (''Relational DataBase Management System'') ovvero di sistemi di database basati sul [[modello relazionale]]<ref>{{Cita web|url=https://docs.oracle.com/en/database/oracle/oracle-database/21/cncpt/introduction-to-oracle-database.html#GUID-E2F67781-4495-4E17-A450-42830A4FA8D6|titolo=Introduction to Oracle Database|autore=Donna Keesling, Tom Kyte, Drew Adams, Ashish Agrawal, Troy Anthony, Vikas Arora, Jagan Athraya, David Austin, Thomas Baby, Vladimir Barriere, Hermann Baer, Srinagesh Battula, Nigel Bayliss, Tammy Bednar, Virginia Beecher, Bjorn Bolltoft, Ashmita Bose, David Brower, Larry Carpenter, Lakshminaray Chidambaran, Deba Chatterjee, Shasank Chavan, Tim Chien, Gregg Christman, Bernard Clouse, Maria Colgan, Carol Colrain, Nelson Corcoran, Michael Coulter, Jonathan Creighton, Judith D'Addieco, Mark Dilman, Kurt Engeleiter, Bjørn Engsig, Marcus Fallon, Steve Fogel, Jonathan Giloni, Naveen Gopal, Bill Habeck, Min-Hank Ho, Lijie Heng, Bill Hodak, Yong Hu, Pat Huey, Praveen Kumar Tupati Jaganath, Sanket Jain, Prakash Jashnani, Caroline Johnston, Shantanu Joshi, Jesse Kamp, Vikram Kapoor, Feroz Khan, Jonathan Klein, Andre Kruglikov, Sachin Kulkarni, Surinder Kumar, Paul Lane, Adam Lee, Allison Lee, Jaebock Lee, Sue Lee, Teck Hua Lee, Yunrui Li, Ilya Listvinski, Bryn Llewellyn, Rich Long, Barb Lundhild, Neil Macnaughton, Vineet Marwah, Susan Mavris, Bob McGuirk, Joseph Meeks, Mughees Minhas, Sheila Moore, Valarie Moore, Gopal Mulagund, Charles Murray, Kevin Neel, Sue Pelski, Raymond Pfau, Gregory Pongracz, Vivek Raja, Ashish Ray, Bert Rich, Kathy Rich, Andy Rivenes, Scott Rotondo, Vivian Schupmann, Venkat Senaptai, Shrikanth Shankar, Prashanth Shanthaveerappa, Cathy Shea, Susan Shepard, Kam Shergill, Mike Skarpelos, Sachin Sonawane, James Spiller, Suresh Sridharan, Jim Stenoish, Janet Stern, Rich Strohm, Roy Swonger, Kamal Tbeileh, Juan Tellez, Ravi Thammaiah, Lawrence To, Tomohiro Ueda, Randy Urbano, Badhri Varanasi, Nick Wagner, Steve Wertheimer, Patrick Wheeler, Doug Williams, James Williams, Andrew Witkowski, Daniel Wong, Hailing Yu, Lance Ashdown|sito=Oracle Help Center|lingua=en|accesso=7 novembre 2023}}</ref> affermatosi come [[standard (informatica)|standard]] di riferimento dei database a partire dagli anni 80 del XX secolo.
 
Tipicamente gli aggiornamenti e le interrogazioni su Oracle Database avvengono attraverso l'uso del linguaggio [[Structured Query Language|SQL]].<ref>{{Cita web|url=https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Oracle-and-Standard-SQL.html#GUID-330DEBBB-006E-4B35-A516-5C0AEFFE06B9|titolo=Oracle and Standard SQL|autore=Mary Beth Roeser, Drew Adams, Lance Ashdown, Thomas Baby, Hermann Baer, Yasin Baskan, Nigel Bayliss, Shuo Chen, Eric Belden, Atif Chaudhry, Dinesh Das, Mark Dilman, Yanfei Fan, Zhenqiang Fan, Mahesh Girkar, Naveen Gopal, Beda Hammerschmidt, Patricia Huey, Peter Knaggs, Sriram Krishnamurthy, Praveen Kumar, Hariharan Lakshmanan, Bill Lee, Huagang Li, Yunrui Li, Roger MacNicol, David Mcdermid, Dan Melinger, Jan Michels, Cesar Miramontes, Rahil Mir, Gopal Mulagund, Abhishek Munnolimath, Ian Neall, Padmaja Potineni, Giridhar Ravipati, Alfonso Colunga Sosa, Josh Spiegel, James Stamos, Srikrishnan Suresh, Nirav Vyas, Alan Williams, Andy Witkowski, Sergiusz Wolicki, Weiran Zhang, Usha Krishnamurthy|sito=Oracle Help Center|lingua=en|accesso=7 novembre 2023}}</ref>
 
==Descrizione==
La [[società (diritto)|società]] informatica che lo produce, la [[Oracle Corporation]], è una delle più grandi del mondo, fondata nel [[1977]] da [[Larry Ellison|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 del database disponibile pubblicamente risale al 1979, da allora sono state introdotte numerose modifiche e miglioramenti per seguire gli sviluppi tecnologici.
 
=== Struttura del database ===
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 [[buffer (informatica)|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 redo logs 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''), 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.
 
La funzionalità RAC (''Real Application Clusters'') consente a più computer di eseguire contemporaneamente il software Oracle RDBMS accedendo a un singolo database, garantendo così il clustering. Questo scenario può offrire numerosi vantaggi, tra cui maggiori performance, scalabilità e ridondanza a discapito di una maggiore complessità di configurazione e gestione.<ref>{{cita web |url=https://www.oracle.com/it/database/real-application-clusters/ |titolo=Real Application Clusters |accesso=9 giugno 2025}}</ref><ref>{{cita libro| autore = Tariq Farooq| autore2 = Charles Kim| autore3 = Nitin Vengurlekar| autore4 = Sridhar Avantsa| autore5 = Guy Harrison| autore6 = Syed Jaffar Hussain| capitolo = Troubleshooting and Tuning RAC| titolo = Oracle Exadata Expert's Handbook| url = https://books.google.com/books?id=_6ffCQAAQBAJ| editore = Addison-Wesley Professional| anno = 2015| isbn = 9780133780987| accesso = 29 giugno 2017| lingua = en}}</ref>
 
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 (linguaggio di programmazione)|Java]] possiamo scrivere funzioni, procedure, trigger e package. Se si sta invece programmando in [[C (linguaggio di programmazione)|C]] o [[C++]], allora è possibile sviluppare funzioni con query preimpostate grazie al precompilatore [[Pro*C|Pro*C/C++]].
 
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 (informatica)|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]].
 
=== Edizioni ===
* ''Express Edition'' (XE) 18 è totalmente ''gratuito'', orientato a studenti e programmatori. Ha alcune limitazioni: l'ultima versione, 18, disponibile da ottobre 2018, può salvare al massimo 12 Gb dati, usare al massimo 2 Gb Ram, 2 CPU Thread, un solo [[host]] client.
* ''Standard Edition'' (SE) è l'ideale per le medie aziende.
* ''Standard Edition One'' (SEO) progettato per le medie imprese e dipartimenti aziendali (funziona su server a due processori).
* ''Enterprise Edition'' (EE) è l'ideale per le industrie e grandi aziende.
 
=== 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]] [[Performance Optimization With Enhanced RISC|POWER]]
* [[Linux]] [[zSeries]]
* [[Linux]] [[Itanium]]
* [[Microsoft Windows]] [[x86]]
* [[Microsoft Windows]] [[x86-64]]
* [[Microsoft Windows]] [[Itanium]]
* [[Sun Microsystems|Sun]] [[Solaris Operating Environment|Solaris]] [[x86]]
* [[Sun Microsystems|Sun]] [[Solaris Operating Environment|Solaris]] [[x86-64]]
* [[Sun Microsystems|Sun]] [[Solaris Operating Environment|Solaris]] [[SPARC]]
* [[Hewlett-Packard|HP]] [[HP-UX]] [[PA-RISC]]
* [[Hewlett-Packard|HP]] [[HP-UX]] [[Itanium]]
* [[Hewlett-Packard|HP]] [[Tru64|Tru64 UNIX]] [[DEC Alpha|Alpha]]
* [[Hewlett-Packard|HP]] [[OpenVMS]] [[DEC Alpha|Alpha]]
* [[IBM]] [[AIX (sistema operativo)|AIX5L]] [[POWER]]
* [[IBM]] [[z/OS]] [[zSeries]]
* [[Apple|Apple Inc.]] [[macOS Server]] [[PowerPC]]
* [[Apple|Apple Inc.]] [[macOS Server]] [[x86-64]]
 
=== Cronologia Versioni ===
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.
 
Di seguito un elenco che riepiloga le versioni di Oracle DataBase.
La società negli ultimi anni si è impegnata pesantemente nell'appoggiare il sistema operativo [[GNU/Linux]] facendo in modo che tutte le sue applicazioni fossero disponibili sotto questo sistema operativo e garantendo assistenza ai suoi clienti per il sistema operativo stesso. L'altra attività di Oracle dopo i database sono applicativi Enterprise, in particolare i programmi di enterprise resource planning ([[ERP]]) e ([[CRM]]) di cui oggi, dopo le recenti acquisizioni di Peoplesoft e JD Edwards per ERP e Siebel Systems per CRM, hanno consolidato la poizione di Oracle come il maggiore venditore a livello mondiale si soluzioni Enterprise, prima di [[SAP]] e [[Microsoft]].
{| class="wikitable"
|'''Versione'''
|'''Data di rilascio'''
|-
|Oracle 1.0
|26 giugno 1979
|-
|Oracle 2.0
|17 aprile 1981
|-
|Oracle 3.0
|7 luglio 1982
|-
|Oracle 4.0
|23 marzo 1984
|-
|Oracle 5.0
|20 settembre 1985
|-
|Oracle 6.0
|3 maggio 1988
|-
|Oracle 7.0
|6 maggio 1992
|-
|Oracle 8.0
|17 giugno 1997
|-
|Oracle 9i
|15 novembre 2001
|-
|Oracle 10g
|13 maggio 2003
|-
|Oracle 11g
|10 novembre 2007
|-
|Oracle 12c
|23 luglio 2011
|-
|Oracle 18c
|26 luglio 2018
|-
|Oracle 19c
|27 luglio 2020
|-
|Oracle 21c
|27 luglio 2022
|-
|Oracle 23c
|20 luglio 2023
|}
 
== EdizioniNote ==
<references/>
 
== Voci correlate ==
* 'Standard Edition' (SE) funzionalità dataabase di base.
* [[Oracle Corporation]]
* 'Enterprise Edition' (EE) include maggiori funzionalità rispetto la 'Standard Edition', specialmente dal punto di vista delle prestazioni e della sicurezza.
* [[Oracle Spatial]]
* 'Standard Edition One', introdotta a partire da Oracle 10g, è caraterrizata da ulcune caratteristiche-limitazioni, come l'utilizzo su macchine dotate di 1 o 2 processori.
* [[Oracle interMedia]]
* '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
 
== Altri progetti ==
==Risorse esterne==
{{interprogetto}}
 
== Collegamenti esterni ==
* [http://www.oracle.com/it/ sito italiano della Oracle]
* {{Collegamenti esterni}}
* [http://www.oracle.com/lang/it/database/index.html sito italiano del database Oracle]
* {{cita web|url=https://docs.oracle.com/en/database/|titolo=Documentazione sul sito ufficiale|lingua=en}}
 
{{Database management system}}
[[Categoria:Database]]
{{Portale|informatica}}
 
[[csCategoria:OracleRDBMS]]
[[Categoria:DBMS a oggetti]]
[[de:Oracle (Datenbanksystem)]]
[[enCategoria:Oracle databaseCorporation]]
[[es:Oracle]]
[[fi:Oracle]]
[[fr:Oracle (base de données)]]
[[ga:Oracle (bunachar sonraí)]]
[[ja:Oracle Database]]
[[lt:Oracle]]
[[nl:Oracle (software)]]
[[pl:Oracle (baza danych)]]
[[pt:Oracle]]
[[ru:Oracle RDBMS]]
[[sk:Oracle (databázový systém)]]
[[sv:Oracle]]