Database vs Istanza
Oracle è un RDBMS (sistema di gestione di database relazionali a oggetti) ampiamente utilizzato nelle aziende. È sviluppato dalla Oracle Corporation. Un sistema Oracle è composto da almeno un'istanza e un database. L'istanza è una raccolta di processi che comunicano con l'archiviazione dei dati. Il database è lo spazio di archiviazione effettivo, che contiene la raccolta di file. Tuttavia, il termine database Oracle viene utilizzato per riferirsi all'intero sistema di database Oracle (istanze e database). Per questo motivo, c'è sempre una certa confusione per i principianti tra i termini database e istanza.
Cos'è l'istanza?
Instance è una raccolta di processi in esecuzione sul sistema operativo e la relativa memoria che interagisce con l'archiviazione dei dati. L'istanza è l'interfaccia tra l'utente e il database. I processi in grado di comunicare con il client e di accedere al database sono forniti dall'istanza. Questi processi sono processi in background e non sono sufficienti per mantenere il principio ACID (Atomicity, Consistency, Isolation, and Durability) nel database. Quindi, un'istanza utilizza anche pochi altri componenti come cache di memoria e buffer. Più specificamente, un'istanza è composta da tre parti. Sono SGA (System Global Area), PGA (Program Global Area) e processi in background. SGA è una struttura di memoria condivisa temporanea, che ha una durata dall'avvio dell'istanza al suo arresto.
Database
Il database Oracle si riferisce allo storage effettivo di Oracle RDBMS. È composto da tre componenti principali. Sono file di controllo, file di ripristino e file di dati. Facoltativamente potrebbero esserci file di password nel database. I file di controllo tengono traccia di tutti i file di dati e ripristinano i file. Aiuta inoltre a mantenere intatta l'integrità del database tenendo traccia del numero di modifica del sistema (SCN), dei timestamp e di altre informazioni critiche come le informazioni di backup/ripristino. I file di dati conservano i dati effettivi. Al momento della creazione del database vengono creati almeno due file di dati. Questi file sono visti fisicamente dal DBA (Amministratore database). È possibile eseguire operazioni sui file come rinominare, ridimensionare, aggiungere, spostare o eliminare i file di dati. I file di registro di ripristino (noti anche come registri di ripristino in linea), conservano le informazioni relative alle modifiche al database con le informazioni cronologiche. Queste informazioni sono necessarie nel caso in cui l'utente debba ripetere tutte o alcune delle modifiche sul database. Affinché un'istanza possa manipolare i dati del database, deve prima aprirlo. Un'istanza può aprire un solo database. Tuttavia, un database può essere aperto da più istanze.
Qual è la differenza tra database e istanza?
I termini istanza e database in Oracle RDBMS sono strettamente correlati, ma si riferiscono ai due diversi componenti all'interno del sistema. Il database si riferisce all'effettiva archiviazione dell'RDBMS, mentre Instance è una raccolta di processi in esecuzione sul sistema operativo e la relativa memoria che interagisce con l'archiviazione dei dati. L'istanza deve aprire il database prima di manipolare i dati. Più istanze possono aprire un singolo database, ma un'istanza non può aprire più database.