Nicht löschen älteste partition Tabelle
Ich bin mit dem 11g-Intervall partitioning feature in einer meiner Tabellen. Ich habe es bis zu 1 Tag Partitionen auf einer timestamp-Feld und erstellt eine Aufgabe zum löschen von Daten, 3 Monate alt. Wenn ich versuche zu löschen, die älteste partition erhalte ich die folgende Fehlermeldung:
ORA-14758: Letzte partition in der Bereich kann nicht gelöscht werden,
Ich hätte gedacht, dass der "Letzte" bezieht sich auf die neueste partition und nicht die ältesten. Wie deute ich diesen Fehler? Gibt es etwas falsch mit meiner Partitionen oder sollte ich in der Tat halten Sie die älteste partition gibt es überhaupt Zeit?
InformationsquelleAutor | 2009-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, die Fehlermeldung ist etwas irreführend, aber es bezieht sich auf die Letzte STATISCH erstellte partition (in der ursprünglichen Tabelle DDL-vor Oracle Schritte beim erstellen der Partitionen automatisch. Ich denke, der einzige Weg, um dies zu vermeiden, ist die Schaffung einer künstlichen "MINVAL" partition, die Sie sind sicher, dass Sie nie verwendet werden, und dann fallen die echten Partitionen oben.
[Bearbeiten nach dem Austausch der Kommentare]
Ich nehme an, dies Testfall reproduziert deinem problem:
Wenn ich dies tun ich kann drop-Partitionen p0,p1 und p2, sondern Holen Sie sich Ihre Fehler, wenn Sie versuchen, um die drop-p3, obwohl es eine system-partition erzeugt darüber hinaus.
Ist die einzige Lösung, die ich finden konnte, war vorübergehend neu definieren der Tabelle der Partitionierung:
und dann drop partition p3. Dann können Sie neu definieren, die Partitionierung wie pro das original-Spezifikation von:
Sorry, habe vergessen zu sagen, danke 🙂
Hmmm... ich lief in Ihr problem und es war die STATISCHE vs. DYNAMISCHE Positionierung Problem in meinem Fall. Als ich erwähnte, die MINVAL-partition war ich denken, neu zu erstellen, die Tabelle mit diesem einzigen partition (und Intervall-Partitionierung definiert) und dann wieder einfügen der Daten - ist dies möglich, in Ihrer situation?
Ich habe nicht genug Speicherplatz, diese Tabelle ist riesig. Dies könnte in der Tat das erste automatisch erstellte partition. Ich kann löschen neuer Partitionen tho... können Sie sich vorstellen, dass es eine andere Möglichkeit, um dieses?
Ich habe nicht versucht, dies in einer Weise, die würde durch die Partitionstypen, konnte aber führen Sie SPLIT-oder MERGE partition-Vorgänge verschieben sich die Grenzen?
InformationsquelleAutor dpbradley
Alle richtig in dpbradley Antwort. Aber es könnte mehr getan sichere Weg, wenn Sie fallen ältesten partition(s):
In der Tat ist es genug, nur um eine reset-Intervall so :
Und dann drop partition ältesten partition.
Sonst die Gefahr besteht, wenn drop partition fehlschlägt, dann Tabelle haben kein Intervall. So müssen alle Ausnahmen abfangen und behandeln.
InformationsquelleAutor Rusty