Tabellenänderungen mit Flashback Time Travel verfolgen

Mit Flashback Time Travel können Sie vergangene Status von Datenbankobjekten anzeigen oder Datenbankobjekte in einen vorherigen Status zurückversetzen, ohne ein Point-in-Time Media Recovery auszuführen.

Informationen zu Flashback Time Travel

Mit Flashback Time Travel können Sie Transaktionsänderungen in einer Tabelle während ihrer Lebensdauer verfolgen und speichern. Flashback Time Travel ist nützlich, um die Einhaltung von Aufzeichnungsphasen-Policys und Auditberichten zu gewährleisten. Sie können Flashback Time Travel auch in verschiedenen Szenarios verwenden, wie z.B. Durchsetzen von digitalem Sredding, Zugriff auf historische Daten und selektives Daten-Recovery.

Flashback Time Travel wurde in früheren Versionen von Oracle Database als Flashback Data Archive bezeichnet. Die Flashback Time Travel-APIs und einige Flashback Time Travel-Begriffe wie die Berechtigung FLASHBACK ARCHIVE behalten ihre Namen aus Flashback Data Archive bei.

Jede Autonomous Database-Instanz verfügt über ein Flashback Database-Archiv namens flashback_archive, das Flashback Time Travel-Vorgänge unterstützt. Die standardmäßige Aufbewahrungszeit für flashback_archive beträgt 60 Tage. Informationen zum Ändern der Standardaufbewahrungszeit finden Sie unter Aufbewahrungszeit für Flashback Time Travel ändern.

Es gibt Einschränkungen beim Aktivieren von Flashback Time Travel für eine Tabelle, darunter:

  • Sie benötigen die Objektberechtigung FLASHBACK ARCHIVE für flashback_archive. Standardmäßig verfügt der Benutzer ADMIN über diese Berechtigung.
  • Die Tabelle darf keines der Folgenden sein:
    • Eine Nested Table
    • Eine temporäre Tabelle
    • Remotabelle
    • Externe Tabelle
  • Die Tabelle darf keine LONG-Spalten enthalten.
  • Die Tabelle darf keine verschachtelten Spalten enthalten.

Eine Liste weiterer Einschränkungen bei Flashback Time Travel finden Sie unter Notes for Flashback Time Travel.

Weitere Informationen zur Flashback-Technologie finden Sie unter Oracle Flashback-Technologie verwenden.

Flashback Time Travel für eine Tabelle aktivieren

Beschreibt Schritte zum Aktivieren von Flashback Time Travel für eine Tabelle in Autonomous Database.

Standardmäßig ist Flashback Time Travel für neue und vorhandene Tabellen deaktiviert.

Für die Aktivierung von Flashback Time Travel ist Folgendes erforderlich:
  • Sie müssen als Benutzer ADMIN angemeldet sein oder über die Objektberechtigung FLASHBACK ARCHIVE verfügen.

    Der Benutzer ADMIN oder der Benutzer mit der Berechtigung FLASHBACK ARCHIVE WITH GRANT OPTION kann einem anderen Benutzer die Objektberechtigung FLASHBACK ARCHIVE erteilen.

    Beispiele:

    GRANT FLASHBACK ARCHIVE ON FLASHBACK_ARCHIVE TO <username>
    GRANT FLASHBACK ARCHIVE ON FLASHBACK_ARCHIVE TO <username> WITH GRANT OPTION

    Weitere Informationen finden Sie unter Benutzerrollen und -berechtigungen in Autonomous Database verwalten.

Sie können Flashback Time Travel für eine vorhandene oder eine neue Tabelle aktivieren.

  1. So aktivieren Sie Flashback Time Travel beim Erstellen einer Tabelle:
    CREATE TABLE employee (EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4)) FLASHBACK ARCHIVE;
  2. So aktivieren Sie Flashback Time Travel für eine vorhandene Tabelle:
    ALTER TABLE departments FLASHBACK ARCHIVE;

Wenn Sie Flashback Time Travel für eine Tabelle aktiviert haben, können Sie Flashback Time Travel deaktivieren. Weitere Informationen finden Sie unter Flashback Time Travel für eine Tabelle deaktivieren.

Flashback Time Travel für eine Tabelle deaktivieren

Hier wird beschrieben, wie Sie Flashback Time Travel für eine Tabelle in Autonomous Database deaktivieren.

Wenn Flashback Time Travel für eine Tabelle aktiviert wurde, können Sie es als Benutzer ADMIN oder mit der Objektberechtigung FLASHBACK ARCHIVE deaktivieren.

Beispiel: So deaktivieren Sie Flashback Time Travel für die Tabelle employee:
ALTER TABLE employee NO FLASHBACK ARCHIVE;

Aufbewahrungszeit für Flashback Time Travel ändern

Hier wird beschrieben, wie Sie die Aufbewahrungszeit für Flashback Time Travel in Autonomous Database ändern.

Sie können die Aufbewahrungszeit für Flashback Time Travel ändern, wenn Sie als Benutzer ADMIN angemeldet sind oder wenn Sie über die Berechtigung EXECUTE für DBMS_CLOUD_ADMIN verfügen.

Beispiel: So legen Sie eine Aufbewahrungszeit von 365 Tagen fest:
BEGIN
  DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION
   (retention_days => 365);
END;
/

Ausführliche Informationen zu der Prozedur finden Sie unter Prozedur SET_FLASHBACK_ARCHIVE_RETENTION.

Historische Daten für Flashback Time Travel löschen

Hier wird beschrieben, wie Sie historische Daten für Flashback Time Travel in Autonomous Database löschen.

Sie können historische Daten für Flashback Time Travel löschen, wenn Sie als Benutzer ADMIN angemeldet sind oder wenn Sie über die Berechtigung EXECUTE für DBMS_CLOUD_ADMIN verfügen.

So löschen Sie beispielsweise alle historischen Daten aus Flashback Time Travel:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'ALL');
END;
/
Beispiel für das Löschen der historischen Flashback Time Travel-Daten vor einem angegebenen Zeitstempel:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'TIMESTAMP', before_timestamp => '12-JUL-2023 10:24:00');
END;
/
Beispiel für das Löschen historischer Flashback Time Travel-Daten, die älter als 1 Tag sind:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'TIMESTAMP', before_timestamp => SYSTIMESTAMP - INTERVAL '1' DAY);
END;
/
Beispiel für das Löschen der historischen Flashback Time Travel-Daten vor der angegebenen SCN:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'SCN',before_scn=> '5928826');
END;
/

Ausführliche Informationen zu der Prozedur finden Sie unter Prozedur PURGE_FLASHBACK_ARCHIVE.

Informationen zu Flashback Time Travel anzeigen

Beschreibt Data Dictionary Views zum Anzeigen von Informationen zu Flashback Time Travel-Dateien in Autonomous Database.

Sie können Informationen zu Flashback Time Travel-Dateien in statischen Data Dictionary Views anzeigen.

Anzeigen Beschreibung
*_FLASHBACK_ARCHIVE Zeigt Informationen zu Flashback Time Travel-Dateien an.
*_FLASHBACK_ARCHIVE_TS Zeigt Tablespaces von Flashback Time Travel-Dateien an.
*_FLASHBACK_ARCHIVE_TABLES Zeigt Informationen zu Tabellen an, für die Flashback Time Travel aktiviert ist.

Hinweise zu Flashback Time Travel

Enthält Hinweise und Einschränkungen für die Verwendung von Flashback Time Travel auf Autonomous Database.

Beachten Sie die folgenden Einschränkungen bei Flashback Time Travel:

  • Sie können Flashback Time Travel nicht für Tabellen mit dem Datentyp LONG oder Nested Table-Spalten aktivieren.

  • Sie können Flashback Time Travel nicht auf einer Nested Table, temporären Tabelle, externen Tabelle, Materialized View, Advanced Query-(AQ-)Tabelle, auf partitionierten Hybridtabellen oder auf einem Nicht-Tabellenobjekt aktivieren.

  • Flashback Time Travel unterstützt keine DDL-Anweisungen, die Partitionen oder Unterpartitionen verschieben, teilen, zusammenführen oder defragmentieren, Tabellen verschieben oder LONG-Spalten in LOB-Spalten konvertieren.

  • Das Hinzufügen oder Aktivieren von Constraints, einschließlich von Fremdschlüssel-Constraints, für eine Tabelle, die für Flashback Time Travel aktiviert wurde, ist mit ORA-55610 nicht erfolgreich.

    Das Löschen oder Deaktivieren eines Constraints (einschließlich Foreign Key Constraint) in einer Tabelle, die für Flashback Time Travel aktiviert wurde, wird unterstützt.

  • Nach der Aktivierung von Flashback Time Travel für eine Tabelle empfiehlt Oracle, zunächst mindestens 20 Sekunden zu warten, bevor Daten in die Tabelle eingefügt werden, und bis zu 5 Minuten zu warten, bevor Flashback Query für die Tabelle verwendet wird.
  • Es gibt ein Flashback-Datenarchiv pro Autonomous Database-Instanz mit dem Namen flashback_archive. Sie können keine zusätzlichen Flashback-Datenarchive erstellen.

  • Sie können das Flashback-Datenarchiv flashback_archive in einer Autonomous Database-Instanz nicht löschen.

  • Sie können keine Tablespaces für das Flashback-Datenarchiv erstellen, ändern oder löschen. Daher können Sie die folgenden Anweisungen nicht ausführen:

    • ALTER FLASHBACK ARCHIVE flashback_archive ADD TABLESPACE;
    • ALTER FLASHBACK ARCHIVE flashback_archive MODIFY TABLESPACE;
    • ALTER FLASHBACK ARCHIVE flashback_archive REMOVE TABLESPACE;
  • Wenn Sie Flashback Time Travel für eine Tabelle aktivieren, aber Automatic Undo Management (AUM) deaktiviert ist, tritt der Fehler ORA-55614 auf, wenn Sie versuchen, die Tabelle zu ändern.

  • Um Flashback Time Travel für eine Tabelle zu aktivieren, darf die Tabelle keines der folgenden für Flashback Time Travel reservierten Wörter als Spaltennamen verwenden:
    • STARTSCN
    • ENDSCN
    • RID
    • XID
    • OP
    • OPERATION