Wie Oracle 12c der Rückblick Tabelle verwenden

Sehr ähnliche Frage an Rückblick ist Rückblick Tabelle Oracle 12c. In der Tat sind beide auf der gleichen zugrundeliegenden Technologie. Rückblick Tabelle ist in der Lage zu blinken Zeilenänderungen oder die gesamte Tabelle zurück, wenn es versehentlich fallen gelassen wurde.

Beachten Sie die folgenden Anforderungen zu beachten:

  • Der UNDO_RETENTION Parameter wird zu steuern, wie weit zurück Sie die Tabelle blitzen kann.

  • Sie müssen eine Funktion namens Reihe Bewegung zu verwenden, die auf einer Tabelle Sie Zeilen zurückschlagen wollen aktiviert werden muss. (Die nächsten Schritte zeigen, wie Zeile Bewegung zu ermöglichen.)

  • Wenn Sie eine Tabelle zu blinken wieder aus einem Tropfen der Lage sein wollen, müssen Sie Ihre Parameter RECYCLEBIN auf ON gesetzt zu haben. Dieser Parameter ist standardmäßig eingeschaltet, aber beachten Sie, dass, wenn es ausgeschaltet wurde es eine Datenbank Bounce erfordert es wieder einzuschalten.

Betrachten wir ein Beispiel über versehentlich einige Zeilen aus einer Tabelle zu löschen. Sie waren sehr einfach, sich zu erholen, weil sie nicht schwierig war, zu identifizieren. Allerdings nehme an, Sie an einer versehentlichen Update wiederherstellen möchten. Updates sind schwerer zu erholen sich von mit Rückblick Abfrage. Sie können es tun, aber Sie können es auf sich selbst machen können, um leichter durch Blinken die gesamte Tabelle zurück.

Rückblick Tabelle wirkt auf die gesamte Tabelle, nicht nur bestimmte Zeilen, so stellen Sie sicher, dass die gesamte Tabelle in der Zeit zurück zu bringen, ist nicht andere Probleme gehen zu verursachen.

Um Rückblick Tabelle zu verwenden, gehen Sie folgendermaßen vor:

  1. Sie müssen Reihe Bewegung enabled- es zu ermöglichen, haben, geben Sie

    Sie sollten folgendes sehen:

    Tabelle geändert.

    Als Randbemerkung, haben Sie keine Zeile Bewegung zu aktivieren, bevor Sie Ihre Daten ändern. Sie können es nach der Tat zu tun.

  2. Sehen Sie, was Ihre Daten aussehen, indem Sie

    Sie sollten etwas sehen:

    DEPARTMENT_NAMEMANAGER_ID ------------------------------ ---------- Administration200Marketing 201Purchasing 114Human Resources203Shipping 121IT 103Public Relations 204Sales 145Executive 100Finance108Accounting 20.511 ausgewählten Zeilen.

    Nach # 147-mess up # 148- die Daten, geben Sie den folgenden:

    lt; aktualisieren departmentsset manager_id = 205where manager_id ist nicht null-Verpflichtungen>

    Sie shoud etwas wie diese:

    11 Zeilen updated.Commit abgeschlossen.
  3. Schauen Sie sich Ihre Daten wieder, indem Sie

    Sie sollten etwas sehen:

    DEPARTMENT_NAMEMANAGER_ID ------------------------------ ---------- Administration205Marketing 205Purchasing 205Human Resources205Shipping 205IT 205Public Relations 205Sales 205Executive 205Finance205Accounting 20.511 ausgewählten Zeilen.
  4. Um Rückschlag alle Änderungen auf den Zeilen, Typ

    Sie sollten etwas sehen:

    Rückblick abgeschlossen.
  5. Überprüfen Sie Ihre Daten wieder, indem Sie

    Sie sollten etwas sehen:

DEPARTMENT_NAMEMANAGER_ID ------------------------------ ---------- Administration200Marketing 201Purchasing 114Human Resources203Shipping 121IT 103Public Relations 204Sales 145Executive 100Finance108Accounting 20.511 ausgewählten Zeilen.

Die Daten sind wieder da, wo es auf dem Zeitstempel angegeben war.

Die nächste Übung hilft Ihnen, wenn Sie versehentlich den Tisch fallen gelassen. Es nutzt die Funktion erwähnt die RecycleBin oben genannt. Es funktioniert ähnlich wie der Papierkorb auf einem Windows-Desktop. Sie können ein Objekt wiederherzustellen, wie es aussah, bevor es gelöscht wurde.

Zu diesem nächsten Beispiel beginnen Sie, indem Sie eine Kopie der Tabelle Personal zu machen, mit zu arbeiten. Der Grund, warum Sie eine Kopie machst ist, dass in der Demo-Schema mit der Datenbank zur Verfügung gestellt es eine Menge referentielle Integrität ist, die Sie von Tabellen löschen an erster Stelle (einer der vielen Gründe, die referentielle Integrität ist so eine gute Idee verhindert! ).

  1. Um eine Kopie Ihrer Mitarbeiter Tabelle Marke, Typ

    Sie sehen etwas wie folgt aus:

    Tabelle erstellt.
  2. # 147-Versehentlich # 148- die neue Tabelle emp fallen, indem Sie

    -

    Sie sehen etwas wie folgt aus:

    Tabelle gesunken.
  3. Abfragen des RecycleBin zu sehen, was Sie wiederherstellen können - Typ

    lt; select object_name, original_name, Betrieb, droptimefrom user_recyclebin->

    Sie sehen etwas wie folgt aus:

    OBJECT_NAME original_name OPERATION DROPTIME ------------------------------ --------------- - -------- ------------------- BIN $ 5BtB5dF6GmXgQ1ABqMC8yg == $ 0 EMP DROP 2013.08.16: 21: 02: 12

    Beachten Sie die lustigen Namen mit BIN $ beginnen. Mit dem RecycleBin eingeschaltet wird, was tatsächlich während eines Tropfens passiert wird das Objekt umbenannt wird. Sie können immer noch die Original-Tabelle abfragen, indem Sie mit diesem Namen!

    Dies könnte nützlich sein, wenn Sie nur ein paar Zeilen wiederherstellen möchten, anstatt die gesamte Tabelle. Sie können die Zeilen abfragen oder ein tun # 147-create table as select # 148- sie in einer neuen Tabelle insgesamt zu speichern.

  4. Um undrop Tisch, Typ

    lt; Rückblende Tabelle emp bis vor Drop->

    Du siehst das:

    Rückblick abgeschlossen.

    Sie können nun Ihre Tabelle wieder abfragen.

Obwohl blinkt die Tabelle zurück, bevor ein Tropfen alle Privilegien und Indizes nicht zurücklegen, halten Sie die Indizes den Namen BIN $. Sie können Ihre Indizes zurück, um den ursprünglichen Namen mit einem Umbenennungs Befehl geben, wenn Sie möchten.

Menü