Datenbank vs. Instanz
Oracle ist ein RDBMS (Object-Relational Database Management System), das in Unternehmen weit verbreitet ist. Es wird von der Oracle Corporation entwickelt. Ein Oracle-System besteht aus mindestens einer Instanz und einer Datenbank. Instanz ist eine Sammlung von Prozessen, die mit dem Datenspeicher kommunizieren. Die Datenbank ist der eigentliche Speicher, der die Sammlung von Dateien enthält. Der Begriff Oracle-Datenbank wird jedoch verwendet, um sich auf das gesamte Oracle-Datenbanksystem (Instanzen und Datenbanken) zu beziehen. Aus diesem Grund gibt es für Anfänger immer etwas Verwirrung zwischen den Begriffen Datenbank und Instanz.
Was ist eine Instanz?
Instance ist eine Sammlung von Prozessen, die auf dem Betriebssystem und dem zugehörigen Speicher laufen, der mit dem Datenspeicher interagiert. Die Instanz ist die Schnittstelle zwischen dem Benutzer und der Datenbank. Prozesse, die mit dem Client kommunizieren und auf die Datenbank zugreifen können, werden von der Instanz bereitgestellt. Diese Prozesse sind Hintergrundprozesse und reichen nicht aus, um das ACID-Prinzip (Atomicity, Consistency, Isolation, and Durability) in der Datenbank aufrechtzuerh alten. Eine Instanz verwendet also auch wenige andere Komponenten wie Speicher-Cache und Puffer. Genauer gesagt besteht eine Instanz aus drei Teilen. Sie sind SGA (System Global Area), PGA (Program Global Area) und Hintergrundprozesse. SGA ist eine temporäre Shared-Memory-Struktur, die eine Lebensdauer vom Start der Instanz bis zum Herunterfahren hat.
Datenbank
Die Oracle-Datenbank bezieht sich auf den tatsächlichen Speicher des Oracle RDBMS. Es besteht aus drei Hauptkomponenten. Sie sind Steuerdateien, Redo-Dateien und Datendateien. Optional könnten Passwortdateien in der Datenbank vorhanden sein. Die Steuerdateien verfolgen alle Datendateien und Redo-Dateien. Es trägt auch dazu bei, die Datenbankintegrität intakt zu h alten, indem es die System Change Number (SCN), Zeitstempel und andere wichtige Informationen wie Sicherungs-/Wiederherstellungsinformationen verfolgt. Datendateien enth alten die tatsächlichen Daten. Zum Zeitpunkt der Datenbankerstellung werden mindestens zwei Datendateien erstellt. Diese Dateien werden physisch vom DBA (Datenbankadministrator) gesehen. Dateioperationen wie Umbenennen, Ändern der Größe, Hinzufügen, Verschieben oder Löschen können an Datendateien ausgeführt werden. Redo-Log-Dateien (auch als Online-Redo-Logs bezeichnet) enth alten die Informationen zu den Änderungen an der Datenbank mit den chronologischen Informationen. Diese Informationen werden benötigt, falls der Benutzer alle oder einige der Änderungen an der Datenbank wiederholen muss. Damit eine Instanz die Daten der Datenbank manipulieren kann, sollte sie diese zuerst öffnen. Eine Instanz konnte nur eine Datenbank öffnen. Eine Datenbank kann jedoch von mehreren Instanzen geöffnet werden.
Was ist der Unterschied zwischen Datenbank und Instanz?
Die Begriffe Instanz und Datenbank in Oracle RDBMS sind sehr verwandt, aber sie beziehen sich auf die zwei verschiedenen Komponenten innerhalb des Systems. Die Datenbank bezieht sich auf den tatsächlichen Speicher des RDBMS, während die Instanz eine Sammlung von Prozessen ist, die auf dem Betriebssystem und dem zugehörigen Speicher laufen, der mit dem Datenspeicher interagiert. Die Instanz muss die Datenbank öffnen, bevor Daten bearbeitet werden. Mehrere Instanzen können eine einzelne Datenbank öffnen, aber eine Instanz kann nicht mehrere Datenbanken öffnen.