Archive-Logs löschen
Ein Oracle-Archivlog kann sicher gelöscht werden, sobald die Lese- und Schreib-Checkpoints von Extract das Ende dieses Logs überschritten haben. Extract schreibt eine Transaktion erst dann in einen Trail, wenn sie festgeschrieben wurde. Daher muss Extract alle offenen Transaktionen verfolgen. Dazu benötigt Extract Zugriff auf das Archivprotokoll, in dem jede geöffnete Transaktion gestartet wurde, und alle Archive Logs danach.
Extract liest das aktuelle Archiv-Log (den Lese-Checkpoint) für neue Transaktionen und hat auch einen Checkpoint (den Recovery Checkpoint) im ältesten Archiv-Log, für das eine nicht festgeschriebene Transaktion vorhanden ist.
Verwenden Sie den folgenden Befehl, um die Checkpoint-Positionen von Extract zu bestimmen.
INFO EXTRACT *group*, SHOWCH
-
Im Feld
Input Checkpointwird angezeigt, wo Extract mit der Verarbeitung begonnen hat, als es gestartet wurde. -
Im Feld
Recovery Checkpointwird der Speicherort der ältesten nicht festgeschriebenen Transaktion angezeigt. -
Im Feld
Next Checkpointwird die Position im Redo-Log angezeigt, die Extract liest. -
Das Feld
Output Checkpointzeigt die Position an, an der Extract schreibt.
Sie können ein Shellskript schreiben, das alle Archive-Logs löscht, die nicht mehr von Extract benötigt werden, indem Sie die im Feld Recovery Checkpoint aufgeführte Folgenummer erfassen. Alle vorhergehenden Archive Logs können sicher gelöscht werden.