Supprimer des partitions de plus de 2 mois
J'ai une table avec partition basé sur la date de champ. Maintenant, je dois écrire une procédure pour déposer toutes les partitions de plus de 2 mois c'est à dire test_date est de plus de 2 mois. Comment dois-je faire?
create table test_table
(
test_id number,
test_date date,
constraint pk_test primary key (test_id)
)
partition by range (test_date)
(
PARTITION pt01122012 VALUES LESS THAN (TO_DATE('01-DEC-
2012', 'DD-MON-YYYY')),
PARTITION pt01022013 VALUES LESS THAN (TO_DATE('01-FEB-
2013', 'DD-MON-YYYY')),
PARTITION pt01042013 VALUES LESS THAN (TO_DATE('01-APR-
2013', 'DD-MON-YYYY')),
PARTITION pt01062013 VALUES LESS THAN (TO_DATE('01-JUN-
2013', 'DD-MON-YYYY')),
PARTITION pt01082013 VALUES LESS THAN (TO_DATE('01-AUG-
2013', 'DD-MON-YYYY'))
);
Merci d'avance...
OriginalL'auteur Srikrishnan | 2013-02-18
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, je tiens à souligner que le partitionnement est un sujet avancé dans Oracle, par conséquent, vous pouvez exécuter tous les DDL manuellement au début, jusqu'à ce que vous êtes suffisamment en confiance avec l'exécution de scripts DDL. Je voudrais également vous conseiller de ne jamais exécuter un script trouvé sur internet sans avoir à la fois compréhension et tests à fond, en particulier les scripts DDL.
Maintenant, pour la question à portée de main, vous pouvez interroger le
*_TAB_PARTITIONS
dictionnaire de vue de récupérer la frontière de la partition:Cette colonne est de type
LONG
(=obsolète LOB) donc, nous avons quelques outils pour filtrer avec SQL, nous allons utiliser PL/SQL.Ce qui va se passer pour les clés primaires de la table?
Je sais il est tard mais pour d'autres à venir plus tard: C'est le meilleur moyen autre que manuel. Vous souhaitez ajouter la mise à jour des indices de déclaration, de sorte qu'il est reconstruit à la suite de la partition de la goutte. Si vous avez un IOT partitionné, utiliser "mise à jour des indices globaux"
OriginalL'auteur Vincent Malgrat