2017-06-03 6 views
0

Ich bin neu in dieser Oracle Datenbank. Heute lief ich DROP TABLE table1; und versuchte es zu FLASHBACK. Aber die Skript-Ausgabe zurückgegeben dies:Gelöschte Tabelle wurde endgültig gelöscht

RÜCKBLICK TABLE TABLE1 löschen, bevor
Fehlerbericht -
ORA-38305: Objekt nicht in RECYCLE BIN
38305. 00000 - "Objekt nicht in RECYCLE BIN"
* Ursache: Flashback versucht ein Objekt fallen zu lassen, das sich nicht in RecycleBin befindet.
* Aktion: Nur die Objekte in RecycleBin können Flashback Dropped sein.

Ich dachte, dass der recyclebin irgendwie deaktiviert war. Also öffnete ich eine andere Verbindung und geben Sie diesen Befehl ein:

ALTER SESSION SET recyclebin = ON; 

und wiederholt den Vorgang erneut, das Ergebnis war immer noch die gleiche. Es gab nichts im recyclebin, als ich lief

Habe ich unbeabsichtigt irgendwas versaut?

+0

Welchen Prozess haben Sie wiederholt? – miracle173

+0

Haben Sie 'table1' nach dem Einschalten des Recyclebins erneut erstellt? – APC

Antwort

0

Sie haben nichts mit dem Befehl ALTER SESSION SET recyclebin = ON; vermasselt, aber es ist spät, diesen Befehl aufzurufen. Ich denke, Ihr Problem liegt darin, dass Ihr Standard-Tablespace SYSTEM für Tabellen ist.

0

Oracle Flashback Drop kehrt die Effekte einer DROP TABLE Operation um. Es kann verwendet werden, um nach dem versehentlichen Ablegen einer Tabelle wiederherzustellen. Flashback Drop ist wesentlich schneller als andere Wiederherstellungsmechanismen, die in dieser Situation verwendet werden können, wie z. B. die Wiederherstellung nach Zeitpunkt, und führt nicht zum Verlust von kürzlichen Transaktionen oder Ausfallzeiten.

Die Tabelle und ihre abhängigen Objekte verbleiben im Papierkorb, bis sie aus dem Papierkorb gelöscht werden. Sie können explizit eine Tabelle oder eine anderes Objekt aus dem Papierkorb mit dem Befehl löschen:

DROP TABLE some_table PURGE; 

Dropped Objekte im Papierkorb, bis zu dem Zeitpunkt gehalten werden, da keine neue Ausdehnungen können die Objekte im Tabellenbereich zu denen zugeordnet werden gehören ohne den Tablespace zu vergrößern. Dieser Zustand wird als Raumdruck bezeichnet. Der Raumdruck kann auch aufgrund von Benutzerkontingenten auftreten, die für einen bestimmten Tablespace definiert sind. Ein Tablespace kann freien Speicherplatz haben, aber der Benutzer hat möglicherweise sein Kontingent dafür erschöpft.

Wenn Platzdruck entsteht, wählt die Datenbank Objekte aus dem Papierkorb für die automatische Reinigung aus. Objekte werden zum Löschen auf der Basis "zuerst hinein, zuerst heraus" ausgewählt, d. H. Die ersten abgelegten Objekte sind die ersten, die zum Löschen ausgewählt wurden.

Es ist keine feste Menge an Speicherplatz für den Papierkorb vorbelegt. Daher gibt es keine garantierte Mindestzeit, während der ein fallengelassenes Objekt in dem Papierkorb verbleiben wird.

nur Objekte in den Papierkorb zu sehen, verwenden Sie die USER_RECYCLEBIN und DBA_RECYCLEBIN Ansichten.

Verwandte Themen