Je dois sélectionner une date à partir du paramètre système pour lequel la partition doit être créée, puis créer la partition à l'aide d'une procédure stockée. TOUT guide. Oracle 11g est utilisé.Partition DB dans Ora 11g
Répondre
Vous pouvez utiliser quelque chose PL/SQL dynamique comme:
select the_date into l_date from system_parameters where...;
execute immediate 'alter table mytable add partition p_' || replace(l_date,'-','')
|| ' values less than (to_date(''' || l_date || ''',''DD-MON-YYYY'')';
Ronan,
peut-être que vous pouvez adopter le partitionnement par intervalles? Vous utilisez 11g pour que le partitionnement par intervalles vous soit disponible. Cela génère des partitions sur une base nécessaire, lorsque les données sont insérées et que la partition requise n'est pas encore disponible.
Je suis d'accord avec la réponse de @ik_zelf, si vous voulez mettre en place une partiion over date, et que vous voulez faire au fur et à mesure que la date arrive, allez à Partitionnement par intervalles. Il n'y aurait pas non plus besoin d'une procédure stockée.
C'est une nouvelle fonctionnalité de l'Oracle 11g. Ce qui crée la partiotion pour des intervalles particuliers lorsque les enregistrements sont insérés, donc vous n'avez pas besoin de vous inquiéter sur les nouvelles partitions. Les nouveaux Partiotions seraient donné un nom du système, ainsi que SYS_PXXX ..
Voici comment aller pour la partition d'intervalle ..
CREATE TABLE interval_tab (
id NUMBER,
code VARCHAR2(10),
description VARCHAR2(50),
created_date DATE
)
PARTITION BY RANGE (created_date)
INTERVAL(NUMTOYMINTERVAL(1,'MONTH')) -- change to 12 for an year
(
PARTITION part_01 values LESS THAN (TO_DATE('01-JAN-2012','DD-MON-YYYY'))
);
Partition Intervalle n'a rien à voir avec la partition précédente, la dernière partition créée avant l'intervalle serait le point de transition ici.
Vous pouvez aussi aller avec le pour ADD PARTITION et change rien
TABLE ..
- 1. DB Oracle 11g BenchMarking
- 2. Comment résoudre l'erreur SQL: ORA-01858 dans l'oracle 11g
- 3. erreur ORA-12154 après l'installation Oracle 11g R1
- 4. Oracle 11g: ORA-00604: erreur au niveau SQL récursif 1
- 5. Oracle ORA-01805 sur la base de données Oracle 11g
- 6. Oracle 11g Erreur SQL: ORA-00904: "CUST_ID": identificateur invalide
- 7. Syntaxe du déclencheur Oracle Db 11g
- 8. comment puis-je restaurer mon schéma db dans Oracle 11g?
- 9. Réinitialiser séquence dans oracle 11g
- 10. Suppression automatique de la partition la plus ancienne dans Oracle 11G
- 11. ORA-00604 ORA-12705
- 12. Oracle Insérer retour ORA-01400
- 13. Récupérer USER GRANTS d'un utilisateur sur ORACLE DB 11g
- 14. Oracle 11g XE initialisation sur ubuntu 12.04
- 15. Partition Base de données API Berkeley DB SQL
- 16. Oracle DB donne ORA-01722 pour apparemment aucune raison
- 17. Problème d'hibernation d'Oracle 11g
- 18. problème de connexion Oracle 11g
- 19. ORA-00904: "PLAFOND": identificateur invalide
- 20. groupnum sur la partition
- 21. Criteria.setMaxResults() échoue sur Oracle 11g
- 22. Subventions par rôle modifié dans Oracle 11g?
- 23. JDBC Connection à défaut avec ORA-12505 sur Win8, XE Oracle 11g
- 24. Erreur Oracle 11G XE - ORA-46105 lors de la création d'une ACL
- 25. bloc anonyme dans 11g
- 26. erreur ORA-06550 ORA-00933
- 27. exception Test dans Oracle 11g LA MANUTENTION
- 28. Impossible de supprimer la partition de table la plus ancienne
- 29. Erreur ORA-12154 sur Win7 64
- 30. TransactionScope et erreur: ORA-02049