Dynamic table-partitioning in Oracle
Ich bin in den Prozess des Aufbaus einer Datenbank-storage für meine app, bestehend aus einer einzelnen Tabelle mit einem riesigen Daten-Volumen (Hunderte von Millionen von Datensätzen). Ich bin der Planung auf die mit einem index auf das Datumsfeld, da werde ich tun, eine batch-Wiederherstellung aller Datensätze in einem bestimmten Zeitraum der Zeit hie und da (zum Beispiel abrufen aller Datensätze für den folgenden Tag, um Mitternacht).
Da die Anzahl der Datensätze ist gewaltig und die Leistung ist ein wichtiger Punkt in diesem system, ich würde gerne wissen, ob es einen Weg gibt, ich kann die partition dynamisch meine Tabelle so, dass ich die Datensätze abrufen, die schneller, anlegen und abschneiden der Partitionen, da Sie nicht mehr benötigt werden. Zum Beispiel, wie würde ich mich über erstellen einer partition für den nächsten Tag und füllen Sie es mit dem rest der Daten, nachdem ich fertig bin-Verarbeitung heute mit den Aufzeichnungen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In 11g wir können bestimmen, INTERVALL-Partitionen und Oracle wird automatisch neue Partitionen erstellen, wenn es neue Datensätze, deren Schlüssel passen nicht in einem der bestehenden Bereiche. Dies ist ein sehr cooles feature. Erfahren Sie mehr.
One, was zu beachten ist, dass der Partitionierung ist ein kostenpflichtiges extra, die oben auf dem Enterprise Edition-Lizenz. So ist es nicht Billig, zu verwenden.
können Sie automatisieren den Prozess der Erstellung oder abschneiden von Partitionen durch die Verwendung von dynamisches SQL. Schreiben Sie Prozeduren, die entweder mit EXECUTE IMMEDIATE oder
DBMS_SQL
und Sie würde planen Sie mitDBMS_JOB
oderDBMS_SCHEDULER
(DBMS_SCHEDULER
ist ein 10g-Funktion und ist vielseitiger alsDBMS_JOB
).Möchten Sie wahrscheinlich zu bauen, die partition Aussagen zunächst manuell und automatisiert den Prozess später, wenn Sie sicher sind mit dem DDL. Finden Sie alle synthax in der Dokumentation für die Anweisung ALTER TABLE-Anweisung.
Hier ist ein Beispiel für etwas, was ich kam mit der Erstellung von Partitionen mit
SYSDATE
und einem offset. Ich hatte zum erstellen von Ersatz-Parameter, die mit einem string verkettet, um dieSYSDATE
:Es ist ein Produkt, übernimmt es automatisch. PartitionManager für Oracle bietet eine automatische Verwaltung von Partitionen, auf der Grundlage der Organisation, die Aufbewahrung, einschließlich Säuberung und Archivierung von alten Daten, Statistiken, kopieren etc. Sie können es ausprobieren, bei http://www.xyrosoft.com