Saltar al contenido

¿Cómo modifico mi tabla existente para crear una partición de rango en Oracle?

Haz todo lo posible por interpretar el código correctamente antes de usarlo a tu proyecto si tquieres aportar algo puedes comentarlo.

Solución:

Debido a que su tabla no está dividida, tiene dos opciones:

  1. Exportar datos, soltar tabla, crear nueva tabla con partición, importar datos.
  2. Utilice el método de dividir y luego intercambiar partición. https://oracle-base.com/articles/misc/partitioning-an-existing-table-using-exchange-partition

Además, si desea una nueva partición por mes, lea acerca de SET INTERVAL. Por ejemplo:

CREATE TABLE tst
   (col_date DATE)
 PARTITION BY RANGE (col_date) INTERVAL (NUMTOYMINTERVAL(1, 'MONTH'))
(PARTITION col_date_min VALUES LESS THAN (TO_DATE('2010-01-01', 'YYYY-MM-DD')));

Si estás usando Oracle 12c Release 2 podrías usar solo ALTER para convertir una tabla sin particiones en una con particiones (este es un viaje de ida):

CREATE TABLE my_tab ( a NUMBER(38,0), b NUMBER(38,0)); 

ALTER TABLE MY_TAB MODIFY PARTITION BY RANGE (a) INTERVAL (1000) (   
    PARTITION p1 VALUES LESS THAN (1000)) ONLINE;

También puede convertir índices, agregando:

update indexes (index_name [local/global]);

db<>demostración de violín

Ten en cuenta comunicar este enunciado si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *