Wird geladen...

Wir haben festgestellt, dass Ihre Browsersprache Chinesisch ist. Möchten Sie unsere chinesische Website besuchen? [ Schließen ]
Von: Emma

Was ist ALTER SYSTEM ARCHIVE LOG

Bei Oracle dient der Befehl ALTER SYSTEM ARCHIVE LOG zur manuellen Steuerung von Archivlog-Vorgängen. Je nach verwendeter Option kann er die Archivierung des aktuellen Redo-Logs erzwingen, anstehende Redo-Logs archivieren oder den Archivierungshintergrundprozess selbst verwalten.

Auch bei aktivierter automatischer Archivierung müssen Administratoren vor Sicherungen, nach Wiederherstellungsvorgängen oder bei der Behebung von Archivlog-Lücken ggf. Logs manuell archivieren.

Erläuterung zu ALTER SYSTEM ARCHIVE LOG

Bevor Sie ALTER SYSTEM ARCHIVE LOG CURRENT oder ALTER SYSTEM ARCHIVE LOG ALL ausführen, muss die Datenbank im Modus ARCHIVELOG betrieben werden. Zudem benötigt der Benutzer die Berechtigungen SYSDBA oder SYSOPER.

Sie können den aktuellen Archivmodus mit folgenden Befehlen prüfen: SELECT LOG_MODE FROM V$DATABASE; oder ARCHIVE LOG LIST;

Übersicht der Befehle

Der Oracle-Befehl ALTER SYSTEM ARCHIVE LOG unterstützt mehrere Optionen, wobei CURRENT, ALL und STOP am häufigsten verwendet werden.

Die nachfolgende Tabelle fasst ihr Verhalten und typische Einsatzszenarien zusammen:

Befehl Synchron Löst Log-Wechsel aus RAC-Gültigkeitsbereich Einsatzzweck
ARCHIVE LOG CURRENT Ja Ja Alle Knoten RMAN-Sicherungs-Skripte
ARCHIVE LOG ALL Ja Nein Alle Threads Schließen von Log-Lücken / Nach Wiederherstellungen
ARCHIVE LOG STOP Vermeiden – veraltet

ALTER SYSTEM ARCHIVE LOG CURRENT: Die sichere Variante für RMAN-Sicherungen

ALTER SYSTEM ARCHIVE LOG CURRENT ist die Standardoption für Sicherungsvorgänge. Bei der Ausführung erzwingt er einen Wechsel des aktiven Redo-Logs und archiviert dieses, bevor die Steuerung an die Sitzung zurückgegeben wird.

Dieser Befehl arbeitet synchron: Oracle wartet, bis die Archivdatei vollständig auf die Festplatte geschrieben wurde, bevor die Sitzung weiterarbeitet. Aufgrund dieses Verhaltens ist er zuverlässig in Sicherungs-Skripten – Sie können sich sicher sein, dass alle Redo-Daten vollständig gesichert sind, bevor der nächste Schritt ausgeführt wird.

Syntax und Verhalten in RAC-Umgebungen

In einer eigenständigen Datenbankumgebung lautet die Syntax einfach:

ALTER SYSTEM ARCHIVE LOG CURRENT;

In einer Real Application Clusters (RAC)-Umgebung löst die Ausführung dieses Befehls auf einer Instanz einen Log-Wechsel sowie die Archivierung von Logs aller Threads auf allen aktiven Knoten aus. Um nur eine bestimmte Instanz anzusprechen, verwenden Sie den Parameter THREAD:

-- Erzwinge Archivierung für Redo-Thread 2

ALTER SYSTEM ARCHIVE LOG CURRENT THREAD 2;

ALTER SYSTEM ARCHIVE LOG CURRENT für eine einzelne Instanz

Warum er sicherer als SWITCH LOGFILE ist

Ein häufiger Fehler in Sicherungs-Skripten ist die Verwendung von ALTER SYSTEM SWITCH LOGFILE. Zwar löst dieser ebenfalls einen Log-Wechsel aus, arbeitet aber asynchron: Oracle gibt die Steuerung sofort zurück, bevor der ARCn-Prozess das Archiv auf die Festplatte geschrieben hat.

Wenn ein RMAN-Job direkt danach ausgeführt wird, kann er die benötigte Datei nicht finden und Fehler wie RMAN-06054 oder ORA-00279 auftreten. Alte Skripte umgehen das Problem mit einer Pause per SLEEP 60, was jedoch keine zuverlässige Lösung darstellt. ALTER SYSTEM ARCHIVE LOG CURRENT beseitigt das Problem vollständig, da Oracle auf den Abschluss der Archivierung wartet.

Oracle empfiehlt, diesen Befehl zweimal während einer Hot-Sicherung auszuführen: einmal vor Beginn der Sicherung und einmal nach deren Abschluss. Dadurch werden alle während des Sicherungsfensters generierten Redo-Daten in den Wiederherstellungsbestand aufgenommen.

ALTER SYSTEM ARCHIVE LOG ALL: Einsatz bei veralteten Logs

ALTER SYSTEM ARCHIVE LOG ALL archiviert alle vollständig gefüllten, aber noch nicht archivierten Redo-Log-Gruppen. Im Gegensatz zu ARCHIVE LOG CURRENT erzwingt er keinen Wechsel des aktiven Logs. Stattdessen durchsucht er alle abgeschlossenen Logs und löst die Archivierung für alle aktivierten Threads aus.

Dies macht ihn zum passenden Werkzeug, wenn der automatische Archivierungsprozess ins Hintertreffen gerät oder vorübergehend unterbrochen wurde.

Wesentlicher Unterschied zu CURRENT

Der Unterschied liegt im Log-Wechsel-Verhalten: ARCHIVE LOG CURRENT zwingt die Datenbank zum sofortigen Wechsel auf ein neues Redo-Log. ARCHIVE LOG ALL verarbeitet nur bereits abgeschlossene und wartende Logs. Ist das aktive Redo-Log beispielsweise zur Hälfte gefüllt, bleibt es unangetastet – nur ältere abgeschlossene Logs werden archiviert.

Einsatzszenarien für diesen Befehl

Es gibt drei gängige Fälle, in denen dieser Befehl die richtige Wahl darstellt:

  • Nach einem Archivierungsfehler: Wenn das Archivziel keinen Speicherplatz mehr hat und der Archivierungsprozess blockiert, werden nach dem Freigeben von Speicher durch diesen Befehl alle anstehenden Logs auf die Festplatte geschrieben.
  • Schließen einer Data-Guard-Lücke: Fehlen Redo-Daten auf einer Standby-Datenbank, stellt die Ausführung auf der Primärdatenbank sicher, dass alle vollen Logs für die Übertragung zur Verfügung stehen.
  • Nach einer Instanzwiederherstellung: Das manuelle Aufholen der Archivierung nach einer Wiederherstellung bestätigt, dass der aktuelle Datenbankzustand sicher gespeichert ist, bevor der reguläre Betrieb wieder aufgenommen wird.

Erwartetes Ergebnis: ORA-00271

Ist die Archivierung vollständig auf dem aktuellen Stand, gibt Oracle folgende Meldung zurück:

ORA-00271: no logs need archiving

Dies ist lediglich eine Statusmitteilung und kein Fehler. In einer fehlerfreien Umgebung bedeutet diese Antwort, dass der Hintergrundarchivierungsprozess ordnungsgemäß arbeitet und kein Rückstau an Logs existiert.

Hinweis zur Performance

Die gleichzeitige Archivierung mehrerer Redo-Logs kann kurzzeitig eine hohe Last auf das E/A-Subsystem erzeugen. Führen Sie diesen Befehl nach Möglichkeit außerhalb der Hauptbetriebszeiten aus, um Konflikte mit Benutzertransaktionen um Festplatten-Durchsatz zu vermeiden.

ALTER SYSTEM ARCHIVE LOG STOP: Warum dieser veraltete Befehl Ihre Datenbank blockieren kann

ALTER SYSTEM ARCHIVE LOG STOP ist ein veralteter Befehl, der in der modernen Datenbankverwaltung keine Anwendung mehr findet. Unter Oracle 9i und älteren Versionen wurde er zusammen mit ARCHIVE LOG START zur manuellen Steuerung der ARCn-Hintergrundprozesse verwendet. Oracle hat den Befehl ab Version 10g als veraltet markiert. Obwohl die Syntax auch auf neueren Versionen noch ausgeführt werden kann, birgt er erhebliche Risiken und sollte vermieden werden.

Warum er nicht mehr wie erwartet funktioniert

Die Ausführung dieses Befehls weist Oracle an, die Archivierungsprozesse daran zu hindern, Redo-Daten in das Archivziel zu schreiben. Die Datenbank zeichnet jedoch weiterhin alle Transaktionen in den Online-Redo-Logs auf.

Sobald alle Redo-Log-Gruppen vollständig gefüllt sind, hat Oracle keinen Speicherort mehr für neue Änderungen. Da sich die Datenbank weiterhin im ARCHIVELOG-Modus befindet und die Archivierung angehalten wurde, werden sämtliche Aktivitäten unbegrenzt ausgesetzt. Die einzigen Auswege sind das erneute Starten der Archivierung oder das Herunterfahren der Instanz.

Einziger verbleibender Ausnahmefall

Der einzige Szenario, in dem ein DBA diesen Befehl ggf. nutzt, ist ein schwerwiegender Notfall: Wenn der Archivierungsprozess vollständig hängt und einen System-E/A-Lock auslöst, kann ARCHIVE LOG STOP verwendet werden, um den Prozess sofort zu beenden. Daraufhin sollte umgehend ein SHUTDOWN ABORT ausgeführt werden, um weitere Instabilitäten zu verhindern.

Die moderne sichere Alternative

Um die Archivierung vollständig zu deaktivieren, verzichten Sie gänzlich auf den STOP-Befehl. Der sichere Weg besteht darin, den Datenbank-Logmodus direkt zu ändern:

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE NOARCHIVELOG;

ALTER DATABASE OPEN;

Alternativen zu ALTER SYSTEM ARCHIVE LOG STOP

Dieser Ablauf aktualisiert die Steuerdatei und deaktiviert die Hintergrundarchivierungsprozesse ordnungsgemäß, sodass das Risiko eines unerwarteten Datenbankstopps ausgeschlossen wird.

Häufige Fehler und deren Behebung

Auch in gut verwalteten Umgebungen können bei der Archivierung gelegentlich Fehler auftreten, die den Datenbankbetrieb blockieren. Die Kenntnis der Fehlercodes ermöglicht eine schnelle Problembehebung und eine zügige Rückkehr zum regulären Betrieb.

ORA-00257: Archivierungsfehler – Anmeldung nur als SYSDBA möglich bis Speicher freigegeben

Dies ist der häufigste Archivierungsfehler. Er tritt auf, wenn das Archivziel, meist der Flash Recovery Area (FRA), keinen Speicherplatz mehr hat. Oracle blockiert daraufhin alle nicht-administrativen Verbindungen, um zu verhindern, dass neue Redo-Daten generiert werden, für die kein Speicher vorhanden ist.

Diagnose und Behebung:

  1. Prüfen Sie die Speicherauslastung über die Sicht V$RECOVERY_FILE_DEST.
  2. Löschen Sie überflüssige Archivlogs per RMAN: DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1';
  3. Bleibt der Speicherplatz knapp, erhöhen Sie den Parameter db_recovery_file_dest_size oder konfigurieren Sie ein sekundäres Archivziel.

ORA-00271: Es sind keine Logs zur Archivierung vorhanden

Diese Meldung erscheint bei Ausführung von ALTER SYSTEM ARCHIVE LOG ALL, wenn alle vollen Redo-Logs bereits verarbeitet wurden. Es sind keine weiteren Maßnahmen erforderlich – die Meldung bestätigt einen aktuellen Archivierungszustand ohne Rückstau.

ORA-16038: Die Log-Sequenz kann nicht archiviert werden

Dieser Fehler weist auf einen E/A-Ausfall oder ein Konfigurationsproblem hin, das das Schreiben ins Archivziel verhindert. Häufige Ursachen:

  • Falsche Zugriffsberechtigungen auf das Archivverzeichnis
  • Offline gegangene Festplatte oder Partition
  • Ungültiger Pfad im Parameter LOG_ARCHIVE_DEST_n

RMAN-06054 und ORA-00279

Diese Fehler treten typischerweise auf, wenn ALTER SYSTEM SWITCH LOGFILE innerhalb eines RMAN-Sicherungs-Skripts verwendet wird. Da dieser Befehl asynchron arbeitet, versucht RMAN ggf. ein Log zu sichern, dessen Archivierung noch nicht abgeschlossen ist. Der Austausch gegen ALTER SYSTEM ARCHIVE LOG CURRENT löst das Problem, wie im Abschnitt zur Archivlog-Synchronisation erläutert.

Wie i2Backup den Schutz von Oracle-Archivlogs automatisiert

Das manuelle Verwalten von Archivlogs gewährleistet die Wiederherstellbarkeit Ihrer Oracle-Datenbanken, birgt aber gleichzeitig Risiken. Ein volles Archivziel löst ORA-00257 aus und blockiert Benutzerverbindungen. Eine fehlende Log-Lücke führt zu einer nicht synchronisierten Data-Guard-Standby-Datenbank. Wenn die Archivierung während eines Sicherungsfensters hängt, kann der RMAN-Job ohne Vorwarnung fehlschlagen. Dies sind keine Ausnahmefälle, sondern alltägliche Probleme im produktiven Oracle-Betrieb.

Eine spezielle Sicherungslösung reduziert diesen Betriebsaufwand deutlich. i2Backup ist eine unternehmensweite Sicherungsplattform zum Schutz von Oracle-Umgebungen mit minimalem manuellen Aufwand.

Kernfunktionen von i2Backup

  • Echtzeit- und geplante Datenbanksicherungen: i2Backup erfasst Redo- und Archivlogs kontinuierlich und ermöglicht ein nahezu Null-RPO für Oracle-Datenbanken. Es unterstützt eigenständige Instanzen sowie Cluster-Umgebungen wie RAC und ADG und bietet zeitpunktgenaue Wiederherstellungen ab jeder erfassten Log-Position – ohne vollständige Wiederherstellung der gesamten Datenbank.
  • Automatisierte Sicherungsabläufe: Nach der Konfiguration führt i2Backup Sicherungsaufgaben nach festgelegten Zeitplänen aus – stündlich, täglich oder in beliebigen Intervallen passend zu Ihrem Wartungsfenster. Ein manuelles Auslösen der Archivierung oder die Überwachung der Log-Erfassung entfällt. Planung, Bereinigung und Aufbewahrungsregeln werden vollständig automatisch verwaltet.
  • Intelligente Aufbewahrungs- und Speicherverwaltung: Veraltete Sicherungen werden automatisch gemäß Ihren definierten Aufbewahrungsrichtlinien entfernt. Dadurch wird verhindert, dass das Archivziel voll läuft – einer der häufigsten Auslöser für ORA-00257 in Produktivumgebungen. i2Backup unterstützt zahlreiche Speicherziele: lokale Festplatten, NAS, Bandbibliotheken und Objektspeicher.
  • Sichere, manipulationsgeschützte Sicherungen: Datenübertragung und Speicherung werden per AES- und SM4-Verschlüsselung geschützt. WORM-kompatibler Speicher verhindert das nachträgliche Ändern oder Löschen von Sicherungen – ein zentraler Vorteil für Umgebungen mit Compliance-Vorgaben.
  • Zentralisierte Überwachung und Benachrichtigungen: Eine webbasierte Konsole bietet Echtzeit-Einsicht in den Status von Sicherungsaufgaben, den Fortschritt der Log-Erfassung und alle auftretenden Fehler. E-Mail- und SMS-Benachrichtigungen informieren Administratoren umgehend über fehlgeschlagene Jobs, damit Probleme behoben werden, bevor Wiederherstellungsziele gefährdet sind.

Für Umgebungen mit Anforderungen an einen durchgehenden Schutz statt nur zeitgesteuerter Sicherungen repliziert i2CDP Datenänderungen bytegenau in Echtzeit und senkt den RPO auf nahezu Null. Für Hochverfügbarkeit und automatischen Failover zwischen Oracle-Instanzen bietet i2Availability Echtzeit-Replikation mit Wechselzeiten unter einer Sekunde – der Produktivbetrieb läuft auch bei Ausfall der Primärumgebung weiter.

Gemeinsam decken diese Lösungen das gesamte Spektrum des Oracle-Datenschutzes ab: von der täglichen Archivlog-Verwaltung bis zum standortübergreifenden Katastrophenschutz. Über den Button können Sie eine kostenlose 60-Tage-Testversion aller genannten Lösungen anfordern.

KOSTENLOSE 60-Tage-Testversion

Fazit

Die drei in dieser Anleitung vorgestellten Archivlog-Befehle erfüllen unterschiedliche Aufgaben – die falsche Verwendung zum falschen Zeitpunkt hat konkrete negative Folgen. ARCHIVE LOG CURRENT ist die zuverlässige Wahl für Sicherungs-Skripte, da es die Steuerung erst zurückgibt, wenn die Archivierung abgeschlossen ist. ARCHIVE LOG ALL kommt zum Einsatz, wenn Logs im Rückstand sind und manuell aufgeholt werden müssen. ARCHIVE LOG STOP sollte in nahezu allen Fällen vermieden werden – sein Verhalten in modernen Oracle-Versionen ist unvorhersehbar und kann die gesamte Datenbank zum Stillstand bringen.

Für den täglichen Betrieb hilft das Verständnis gängiger Fehler wie ORA-00257 und ORA-16038 bei einer schnellen Störungsbehebung, bevor Benutzer beeinträchtigt werden.

Gleichwohl stößt die manuelle Archivlog-Verwaltung an ihre Grenzen. Wenn Ihre Oracle-Datenbank produktiv betrieben wird, senkt die Automatisierung von Sicherungsplänen, Aufbewahrungsregeln und Log-Erfassung mit einer Lösung wie i2Backup von Info2soft das Risiko menschlicher Fehler. Ihre Wiederherstellungsziele bleiben erreichbar – ohne dass ein Mitarbeiter daran erinnert werden muss, zum richtigen Zeitpunkt einen Befehl auszuführen.

Keine Kurzbiografie vorhanden

Weitere verwandte Artikel

Inhaltsverzeichnis:
Bleiben Sie über die neuesten Tipps informiert
Abonnieren Sie unseren Newsletter für aktuelle Einblicke, Neuigkeiten und exklusive Inhalte. Sie können sich jederzeit abmelden.
Abonnieren
Bereit, Ihre Unternehmensdatensicherheit zu verbessern?
Starten Sie eine 60-tägige Testversion oder sehen Sie sich eine Demo an, um zu erfahren, wie Info2soft Unternehmensdaten schützt.
Bitte füllen Sie das Formular aus und senden Sie es ab – unser Kundenservice wird sich in Kürze bei Ihnen melden.
Mit dem Absenden dieses Formulars bestätige ich, dass ich die Datenschutzerklärung.
{{ isSubmitting ? 'Wird gesendet...' : 'Absenden' }}