Tabellenänderungen mit Flashback Time Travel verfolgen

Mit Flashback Time Travel können Sie vergangene Status von Datenbankobjekten anzeigen oder Datenbankobjekte in einen früheren Zustand zurückversetzen, ohne ein Point-in-Time Media Recovery zu verwenden.

Über Flashback Time Travel

Mit Flashback Time Travel können Sie Transaktionsänderungen an einer Tabelle im Laufe ihrer Lebensdauer verfolgen und speichern. Flashback Time Travel ist nützlich für die Einhaltung von Richtlinien und Auditberichten für die Datensatzphase. Sie können Flashback Time Travel auch in verschiedenen Szenarien verwenden, wie das Erzwingen von digitalem Shredding, den Zugriff auf historische Daten und das selektive Daten-Recovery.

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

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

Um Flashback Time Travel für eine Tabelle zu aktivieren, gelten folgende Einschränkungen:

  • Sie benötigen die Objektberechtigung FLASHBACK ARCHIVE für flashback_archive. Standardmäßig verfügt der Benutzer ADMIN über diese Berechtigung.
  • Folgende Tabelle darf nicht verwendet werden:
    • Eine verschachtelte Tabelle
    • Eine temporäre Tabelle
    • Eine entfernte Tabelle
    • Eine externe Tabelle
  • Die Tabelle darf keine LONG-Spalten enthalten.
  • Die Tabelle darf keine verschachtelten Spalten enthalten.

Eine Liste der zusätzlichen Einschränkungen für 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 die 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.

Um Flashback Time Travel zu aktivieren, 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 die Objektberechtigung FLASHBACK ARCHIVE einem anderen Benutzer erteilen.

    Beispiel:

    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, die Sie erstellen.

  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;

Nachdem 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

Beschreibt das Verfahren zum Deaktivieren von Flashback Time Travel für eine Tabelle in Autonomous Database.

Nachdem Flashback Time Travel für eine Tabelle aktiviert wurde, können Sie sie 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

Beschreibt das Verfahren zum Ändern der Aufbewahrungszeit für Flashback Time Travel in Autonomous Database.

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

Beispiel: So legen Sie die Aufbewahrungszeit auf 365 Tage fest:
BEGIN
  DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION
   (retention_days => 365);
END;
/

Ausführliche Informationen zum Verfahren finden Sie unter Prozedur SET_FLASHBACK_ARCHIVE_RETENTION.

Historische Daten für Flashback Time Travel löschen

Beschreibt das Verfahren zum Löschen historischer Daten für Flashback Time Travel in Autonomous Database.

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

Beispiel: So löschen Sie alle historischen Flashback Time Travel-Daten:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'ALL');
END;
/
Beispiel zum 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 zum 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 dem angegebenen scn:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'SCN',before_scn=> '5928826');
END;
/

Ausführliche Informationen zum Verfahren finden Sie unter Prozedur PURGE_FLASHBACK_ARCHIVE.

Reisedaten für Flashback Time 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 für Flashback Time Travel

Bietet Hinweise und Einschränkungen für die Verwendung von Flashback Time Travel in Autonomous Database.

Beachten Sie die folgenden Einschränkungen für Flashback Time Travel:

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

  • Sie können Flashback Time Travel nicht für Nested Tables, temporäre Tabellen, externe Tabellen, Materialized Views, Advanced Query-(AQ-)Tabellen, hybride partitionierte Tabellen oder Nicht-Tabellenobjekte aktivieren.

  • Flashback Time Travel unterstützt keine DDL-Anweisungen, mit denen Partitionen oder Unterpartitionen verschoben, geteilt, zusammengeführt oder zusammengeführt, Tabellen verschoben oder LONG-Spalten in LOB-Spalten konvertiert werden.

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

    Es wird unterstützt, einen Constraint (einschließlich Fremdschlüssel-Constraint) für eine Tabelle zu löschen oder zu deaktivieren, die für Flashback Time Travel aktiviert wurde.

  • Nachdem Flashback Time Travel für eine Tabelle aktiviert wurde, empfiehlt Oracle, dass Sie zunächst mindestens 20 Sekunden warten, bevor Sie Daten in die Tabelle einfügen, und bis zu 5 Minuten warten, bevor Sie Flashback Query für die Tabelle verwenden.
  • Pro Autonomous Database-Instanz ist ein Flashback Data Archive mit dem Namen flashback_archive vorhanden, und Sie können keine zusätzlichen Flashback Data Archives erstellen.

  • Sie können das Flashback Data Archive flashback_archive nicht innerhalb einer Autonomous Database-Instanz löschen.

  • Tablespaces für das Flashback Data Archive können nicht erstellt, geändert oder gelöscht werden. Daher können Sie diese 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, Automatic Undo Management (AUM) jedoch deaktiviert ist, tritt beim Versuch, die Tabelle zu ändern, der Fehler ORA-55614 auf.

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