Tabelle in Oracle endgültig löschen

AKST

Erfahrenes Mitglied
Hallo Leute,
wenn ich im Oracle enterporise Manager oder per SQL eine Oracle-Tabelle lösche, dann bleiben diese Bin$csefwev... Dateien übrig in denen die Informationen der gelöschten Tabelle stehen. Wie kann ich diese löschen?
 
Kannst du das vielleicht etwas genauer beschreiben ?
Eine Tabelle hat in Oracle nichts mit einer Datei zu tun, als Dateien werden nur Datafiles abgelegt in denen mehrere Tabellen und alle anderen DB Objekte abgelegt werden.

Meinst du vielleicht v$ Views ?
Wenn ja, arbeitest du mit 10g ?

10g bietet Flashback Queries mit denen man Daten aus der Vergangenheit rekonstruieren kann. Wie lange hängt am Parameter "UNDO_RETENTION" der in der INIT.ORA festgelegt wird. Wenn es also wirklich was mit der UNDO_RETENTION zu tun hat brauchst du die Daten nicht zu löschen, die verschwinden nach der gesetzten Zeit von alleine.
 
Hallo Exceptionfault,

AKST meint.. diese Bin$csefwev... Tabellen oder Views (weiß ich auch nicht mehr)
ich habe die auch schon bei 10g gesehen, habe aber (noch) keine Ahnung was es damit auf sich hat.

Bin auch für jede Info dazu dankbar.
mfg
 
Also, leider hab ich noch keine 10er hier laufen aber es hört sich wirklich nach dem Flashback an.

In 10g gibt es eine Art Mülleimer in dem erstmal alles abgelegt wird, eben solange wie die UNDO_RETENTION time gesetzt ist.

Es gibt zwei Möglichkeiten wie man die Einträge los wird:

1.) Die Zeit runtersetzen, dann fliegen die Einträge von alleine raus, sollte man sowieso machen wenn man nicht auf Flashback angewiesen ist, denn das hält den UNDO TS kleiner.

2.) Order die Tabelle mittels
DELETE TABLE emp PURGE;
löschen, damit kommt sie gar nicht in den recyclebin.
Nachträglich kann sie auch über
PURGE TABLE emp; aus dem Mülleimer gelöscht werden.

Probiert mal den Befehl
SHOW RECYCLEBIN
Damit solltet ihr alle gelöschten Objekte der letzten Zeit sehen...
 
Habs nochmal nachgelesen, der Parameter heisst
DB_FLASHBACK_RETENTION_TARGET
Ist default auf 1440 minuten.
Der rest sollte aber stimmen.
 
Danke für die Tips, probiere es heute abend aus.

P.S. ja ich habe die 10g-Version und meinte die Tabellen im RecycleBin
 
Wenn ich show recyclebin angeben, dann wird nichts angezeigt. Die Tabellen mit den Namen "BIN$bdgnbr" stehe seit einer wopche da und verschwinden nicht. Wenn ich sie löschen will, sagt mir der Enterprismanager sinngemäß, dass "Objekte im Reclebin nicht gelöscht werden können".

Wie kann ich den Wert des Parameters "DB_FLASHBACK_RETENTION_TARGET" sehehn und verändern?

P.S. habe leider nur ein Oraclebuch für Programmierer und nicht für Admins.
 
Hast du es mal mit PURGE TABLE xyz versucht ?

Die DB_FLASHBACK_RETENTION_TARGET siehst du z.B. über

SHOW PARAMETER FLASHBACK

Werd mir bei Gelegenheit auch mal ne 10er installieren und das untersuchen, bin nur grade unterwegs in der Schweiz, daher etwas kompliziert.

Der Parameter wirkt übrigens auch über ein shutdown, d.h. wenn dort 1440 Minuten angegeben ist, dann sind damit 1440 "Betriebsminuten" gemeint. Es könnte auch sein, dass es ein Mindestwert ist und die Daten solange im Recyclebin bleiben bis der Platz im Undo TS für was anderes gebraucht wird (?). Muss ich mal testen...
 
Hallo,

wenn ich
Code:
PURGE TABLE scott.BIN$SX8l3oqbQlmY4t/11Ns85Q==$0
eingebe erhalte ich folgende Fehlermeldung.
"FEHLER in Zeile 1:
ORA-00933: SQL-Befehl wurde nicht korrekt beendet"
 
Du kannst auch nicht den kryptischen Namen der Tabelle angeben, sondern den wie sie vorher hies, also vor dem DROP Table.

Bin grade am runterladen von 10g, werd es bis heute Abend sicher mal testen.
 

Neue Beiträge

Zurück