Wie fügen Sie Intervall-Partitionen zu einer vorhandenen Tabelle in Oracle
Ich habe eine Szenarien wie ,muss ich zum erstellen von Intervall-Partitionen(monatlich) an eine vorhandene Tabelle in Oracle, die keine Partitionen .bitte machen Sie mir wie Sie weiter Vorgehen.
Habe ich versucht mit unten
alter table RSST_TP_ORDERINVOICED_NETREV_F
set interval(NUMTOYMINTERVAL(1,'MONTH'));
TABLESPACE "RSST_DATA"
PARTITION BY RANGE ( "DATE_SK" )
INTERVAL ( NUMTOYMINTERVAL(1,'MONTH') ) (
PARTITION "P_FIRST" VALUES LESS THAN (TO_DATE(' 2000-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLESPACE "RSST_DATA" )
- Hast du code, den man bereits versucht? Bitte posten, wenn Sie haben
- Bitte nicht posten, zusätzliche Infos in den Kommentaren - Bearbeiten Sie Ihre Frage stattdessen (mit Hilfe der Schaltfläche "Bearbeiten").
- Ähnlich der letzten Frage mit ausführlichen Antworten: stackoverflow.com/questions/35932771/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie partition einer bereits vorhandenen nicht partitionierten Tabelle.
In der Regel müssen Sie zum erstellen einer neuen partitionierten Tabelle, verschieben Sie die Daten aus der vorhandenen Tabelle in die neue Tabelle (vielleicht mit einem direct-path insert mit parallel DML), löschen Sie die alte Tabelle und benennen Sie die neue Tabelle auf den alten Namen. Sie können dies manuell tun. Oder Sie konnte die
dbms_redefinition
- Paket zu verwalten, diese Schritte-das wird wahrscheinlich werden weniger effizient, aber es würde Ihnen erlauben, dies zu tun, ohne eine Ausfall-Fenster.Werden, wie oben diskutiert, können wir nicht partition einer bereits vorhandenen nicht partitionierten Tabelle direkt mit einem alter-Befehl (Oracle 11g und unten).
1) Create new Table "RSST_TP_ORDERINVOICED_NETREV_F_TEMP" mit den Partitionen (mit ähnlichem Aufbau).
2) Legen Sie ganze Daten aus RSST_TP_ORDERINVOICED_NETREV_F zu RSST_TP_ORDERINVOICED_NETREV_F_TEMP
Verwenden Sie: INSERT /*+ append */INTO RSST_TP_ORDERINVOICED_NETREV_F_TEMP WIE SELECT * FROM RSST_TP_ORDERINVOICED_NETREV_F; oder Bulk Sammeln
3) back-up-Skripte für die Erstellung von Indizes,constraints,grants,löst.
4) Drop table RSST_TP_ORDERINVOICED_NETREV_F.
5) Benennen Sie die Tabelle RSST_TP_ORDERINVOICED_NETREV_F_TEMP zu RSST_TP_ORDERINVOICED_NETREV_F.
6) Neu erstellen Sie, alle entsprechenden Indizes,constraints(Primary key, Foreign),gewährt, löst.