Was ist die Redo-Log

Was ist die Redo-Log eine Wiederverwendung oder zu überschreiben

Was ist die Redo-Log?

Die wichtigste Struktur zur Verwertung ist die Redo-Log. die aus zwei oder mehreren vorab zugeordneten Dateien, die alle Änderungen speichern, an der Datenbank vorgenommen, wie sie auftreten. Jede Instanz einer Oracle-Datenbank hat eine zugehörige Redo-Log auf die Datenbank im Falle einer Instanz Ausfall zu schützen.

Redo Themen

Wenn im Zusammenhang mit der mehrere Datenbankinstanzen gesprochen wird die Redo-Log für jede Datenbankinstanz auch als Redo-Thread bezeichnet. In typischen Konfigurationen nur eine Datenbank-Instanz greift auf eine Oracle-Datenbank, so dass nur ein Thread vorhanden ist. In einer Oracle Real Application Cluster-Umgebung jedoch zwei oder mehrere Instanzen gleichzeitig Zugriff auf eine einzelne Datenbank und jede Instanz verfügt über einen eigenen Thread von Redo. Ein separater Redo-Thread für jede Instanz vermeidet Konflikte für einen einzigen Satz von Redo-Log-Dateien, wodurch eine mögliche Leistungsengpässe zu beseitigen.


Dieses Kapitel beschreibt die Konfiguration und die Redo-Log auf einem Standard-Single-Instance-Oracle-Datenbank zu verwalten. Die Thread-Nummer kann davon ausgegangen werden, daß 1 in allen Diskussionen und Beispiele für Aussagen. Weitere Informationen über Redo-Log-Gruppen in einer Oracle Real Application Clusters-Umgebung finden Sie in Oracle Real Application Clusters Verwaltung und Deployment Guide.

Redo-Log-Inhalt

Redo-Log-Dateien werden mit Redo-Aufzeichnungen gefüllt. Ein Redo-Rekord, auch als Redo-Eintrag. besteht aus einer Gruppe von Änderungsvektoren gemacht. von denen jeder eine Beschreibung einer Änderung an einem Block in der Datenbank vorgenommen. Zum Beispiel, wenn Sie ein Gehalt Wert in einer Mitarbeitertabelle zu ändern, erzeugen Sie eine Redo-Aufzeichnung Änderungsvektoren enthält, die Änderungen an der Datensegmentblock für die Tabelle beschreiben, die Undo-Segment-Datenblock, und die Transaktionstabelle der Undo-Segmente.

Redo-Einträge von Aufzeichnungsdaten, die Sie verwenden können, um alle Änderungen zu rekonstruieren an der Datenbank, einschließlich der Undo-Segmente. Daher schützt die Redo-Log auch Rollback-Daten. Wenn Sie die Datenbank mit Redo-Daten wiederherstellen, liest die Datenbank die Änderungsvektoren in den Redo-Aufzeichnungen und wendet die Änderungen auf die entsprechenden Blöcke.

Redo Datensätze werden in einer kreisförmigen Art und Weise in der Redo-Log-Puffer der SGA gepuffert (siehe "Wie Oracle Database Schreibt in die Redo-Log" ) Und sind an einer der Redo-Log-Dateien, die von der Log-Writer (LGWR) Datenbank Hintergrundprozess geschrieben. Jedes Mal, wenn eine Transaktion festgeschrieben wird, schreibt LGWR die Transaktion Redo-Datensätze aus dem Redo-Log-Puffer der SGA auf ein Redo-Log-Datei und weist eine Systemänderungsnummer (SCN) die Redo-Datensätze für jede festgeschriebene Transaktion zu identifizieren. Erst wenn alle Datensätze mit einer bestimmten Transaktion zugeordnet Redo sicher auf der Festplatte in den Online-Logs sind, ist der Benutzer-Prozess mitgeteilt, dass die Transaktion festgeschrieben wurde.

Redo Aufzeichnungen können auch zu einem Redo-Log-Datei geschrieben werden, bevor die entsprechenden Transaktion festgeschrieben wird. Wenn die Redo-Log-Puffer füllt, oder eine andere Transaktion verpflichtet, spült LGWR alle der Redo-Log-Einträge in der Redo-Log-Puffer zu einer Redo-Log-Datei, auch wenn einige Redo-Aufzeichnungen möglicherweise nicht begangen werden. Falls erforderlich, kann die Datenbank diese Änderungen rückgängig zu machen.

Wie Oracle Database Schreibt in die Redo-Log

Die Redo-Log einer Datenbank besteht aus zwei oder mehr Redo-Log-Dateien. Die Datenbank erfordert ein Minimum von zwei Dateien zu gewährleisten, dass ein immer verfügbar ist für das Schreiben, während der andere archiviert werden (wenn die Datenbank im ARCHIVELOG-Modus ist). Sehen "Verwalten von archivierten Redo-Logs" für mehr Informationen.

LGWR schreibt Protokolldateien in einer kreisförmigen Art und Weise wiederholen. Wenn die aktuelle Datei-Redo-Log füllt, beginnt das Schreiben LGWR zum nächsten verfügbaren Redo-Log-Datei. Wenn die letzte Datei verfügbar Redo-Log gefüllt ist, kehrt LGWR auf die erste Datei-Redo-Log und schreibt es, den Zyklus erneut zu starten. Abbildung 10-1 zeigt die Kreis Schreiben der Redo-Log-Datei. Die Zahlen neben jeder Zeile angeben, in welcher Reihenfolge LGWR zu jeder Redo-Log-Datei schreibt.

Gefüllt Redo-Log-Dateien sind für die Wiederverwendung zu LGWR je nachdem, ob die Archivierung aktiviert ist.

Wenn die Archivierung deaktiviert ist (die Datenbank ist in NOARCHIVELOG-Modus), eine gefüllte Redo-Log-Datei verfügbar ist, nachdem die aufgezeichneten Änderungen in es in den Datendateien geschrieben wurden.

Wenn die Archivierung aktiviert ist (die Datenbank im ARCHIVELOG-Modus), eine gefüllte Redo-Log-Datei ist auf LGWR zur Verfügung, nachdem die aufgezeichneten Änderungen in es in den Datendateien geschrieben wurden und die Datei archiviert wurde.

Abbildung 10-1 Wiederverwendung von Redo-Log-Dateien, die von LGWR

Aktiv (Strom) und inaktive Redo-Log-Dateien

Oracle-Datenbank verwendet nur eine Redo-Log-Dateien zu einem Zeitpunkt Datensätze aus dem Redo-Log-Puffer geschrieben zu speichern wiederholen. Die Redo-Log-Datei, die LGWR aktiv ist schriftlich an wird die aktuelle Redo-Log-Datei bezeichnet.

Redo-Log-Dateien, die zum Beispiel die Wiederherstellung erforderlich sind, werden aktive Redo-Log-Dateien genannt. Redo-Log-Dateien, die nicht mehr zum Beispiel die Wiederherstellung erforderlich sind inaktiv Redo-Log-Dateien genannt.

Wenn Sie die Archivierung (die Datenbank im ARCHIVELOG-Modus) aktiviert haben, dann kann die Datenbank nicht eine aktive Online-Protokolldatei, bis eine der Archivierungshintergrundprozesse (ARC n) wiederzuverwenden oder zu überschreiben hat seinen Inhalt archiviert. Wenn die Archivierung deaktiviert ist (die Datenbank ist in NOARCHIVELOG-Modus), dann, wenn der letzte Redo-Log-Datei voll ist, fährt LGWR durch die erste verfügbare aktive Datei überschrieben wird.

Log-Switches und Log-Sequenznummern

Ein Log-Switch ist der Punkt, an dem sich die Datenbank auf einem Redo-Log-Datei nicht mehr zu schreiben und beginnt zu einem anderen zu schreiben. Normalerweise tritt ein Log-Switch, wenn der aktuelle Redo-Log-Datei vollständig gefüllt ist und das Schreiben auf die nächste Redo-Log-Datei fortgesetzt werden muss. Sie können jedoch Protokoll Schalter auftreten in regelmäßigen Abständen, unabhängig davon, ob die aktuelle Redo-Log-Datei vollständig gefüllt konfigurieren. Sie können auch manuell Protokoll Schalter erzwingen.

Oracle-Datenbank weist jedem Redo-Log jedes Mal, wenn ein Log-Switch tritt eine neue Log-Sequenznummer-Datei und LGWR es beginnt zu schreiben. Wenn die Datenbank-Archive-Dateien Redo-Log, die archivierten Log behält Anzahl seiner Log-Sequenz. A-Redo-Log-Datei, die wieder für die Verwendung radelte wird die nächste verfügbare Protokollsequenznummer.

Jede Online oder archivierten Redo-Log-Datei wird eindeutig durch seine Log-Sequenznummer identifiziert. Während Crash, eine Instanz oder Medienwiederherstellung gilt die Datenbank richtig Dateien Redo-Log-in aufsteigender Reihenfolge durch die Log-Sequenznummer der notwendigen Verwendung archiviert und Redo-Log-Dateien.

Scripting auf dieser Seite verbessert den Inhaltsnavigation, aber nicht den Inhalt in irgendeiner Weise ändern.

Quelle: docs.oracle.com

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

fünfzehn − 9 =