===== Eine Tabelle mit DBMS_REDEFINITION umziehen ===== Ablauf: * Pürfen ob ausreichend temp Tablespace Platz zur Verfügung steht (min 1,5 mal netto Tabellengröße wenn mit einem sort reorganisert wird!) * Prüfen ob genug Speicherplatz für die Archvielogs zur Verfügung steht ( min 2 mal die netto Tabellengröße * Testen ob die Tabelle für online redefinition geeignet ist * Staging Tabelle anlegen * Wird die Tabelle nur mit einem "create table as select" angelegt,darauf achten das "defaults" wie sysdate NICHT übernommen werden! See Support Node 579636.1 * Not Null Constraints auf der Staging Tabelle entfernen (Workaround für BUG) * Parallel setzen,falls möglich * Kommentare auf der Tabelle sichern (Workaround für BUG) * Redefinition Prozess starten * Abhängigigkeiten auf der Tabelle kopieren * Auf Fehler überprüfen * Staging Tabelle vor dem Umschalten nochmals synchronisieren * Test ob alle Daten da sind * Auf den neue Tabelle umschalten * Constraints wieder einschalten * Kommentare auf den Tabellen wieder aktivieren * Auf geänderte Index Namen pürfen * Prüfen ob die Tabelle auch umgeschaltet ist * Alte Tabelle löschen bzw. die existierenen constraints von anderen Tabellen in dem Modell löschen! ==== Quellen ==== Oracle: * http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_redefi.htm#i1001095 * http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_redefi.htm#ARPLS042 * http://www.orafaq.com/node/4 Web: * http://www.orafaq.com/node/4 Metalink: * WHY ARE 'NOT NULL' CONSTRAINTS NOT COPIED BY DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS? (Doc ID 1089860.1) * Create Table As Select Does Not Copy Table's Default Values. (Doc ID 579636.1) * ORA-600 [kkzuord_copycolcomcb.2.prepare] may be seen during DBMS_REDEFINITION (Doc ID 12765293.8)