Oracle
 sql >> Database >  >> RDS >> Oracle

Come staccare una partizione da una tabella e collegarla a un'altra in Oracle?

alter table exchange partition 

è la risposta. Questo comando scambia il segmento di una partizione con il segmento di una tabella. È alla velocità della luce perché esegue solo alcuni scambi di riferimento. Quindi, hai bisogno di alcune tabelle temporanee, perché AFAIK non puoi scambiarle direttamente.

Qualcosa come:

create table tmp_table(same columns);
Add partition p_2011 in table ARCH_TABLE;

ALTER TABLE CURR_TABLE EXCHANGE PARTITION P_2011 WITH TABLE tmp_table;
ALTER TABLE ARCH_TABLE EXCHANGE PARTITION P_2011 WITH TABLE tmp_table;

Testare il codice prima dell'esecuzione.