alter table exchange partition
es la respuesta. Este comando intercambia el segmento de una partición con el segmento de una tabla. Es a la velocidad de la luz porque solo hace algunos intercambios de referencia. Por lo tanto, necesita algunas tablas temporales, porque AFAIK no puede intercambiarlas directamente.
Algo como:
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;
Pruebe su código antes de ejecutarlo.