Dynamique de la table de partitionnement dans Oracle
Je suis dans le processus de construction d'un stockage de base de données pour mon application, composé sur une seule table avec un énorme volume de données (des centaines de millions d'enregistrements). Je prévois d'avoir un index sur le champ de date, car je vais faire une récupération de lot de tous les enregistrements dans une période de temps donnée, chaque maintenant et puis (par exemple, la récupération de tous les records pour le lendemain, à minuit).
Puisque le nombre de dossiers est énorme et la performance est une préoccupation importante dans ce système, je voudrais savoir si il existe un moyen pour que je puisse dynamiquement la partition de ma table pour que je puisse récupérer les dossiers plus rapidement, en créant et en tronquant les partitions qu'ils ne sont plus nécessaires. Par exemple, comment pourrais-je aller sur la création d'une partition pour le jour suivant et de remplir avec le reste des données après que j'ai terminé le traitement aujourd'hui?
OriginalL'auteur Eduardo Z. | 2010-02-03
Vous devez vous connecter pour publier un commentaire.
En 11g, nous pouvons définir l'INTERVALLE de partitions, et Oracle va automatiquement créer de nouvelles partitions, lorsqu'il obtient de nouveaux enregistrements dont les touches ne rentrent pas dans l'une des gammes. C'est une caractéristique très cool. En savoir plus.
Une chose à garder à l'esprit est que le Partitionnement est une charge supplémentaire sur le haut de la licence de l'Édition Entreprise. Donc, il n'est pas pas cher à utiliser.
Je n'ai pas eu la bonne chance de réellement utiliser le Partitionnement en 11g pour de vrai, mais je peux voir qui serait assez ennuyeux.
Juste un avertissement, vous ne pouvez pas mélanger Référentielle de partitionnement avec un Intervalle de partitionnement. Nous avons opté pour l'utilisation référentielle de partitionnement et de la main, puis rouler un emploi pour créer le mensuel des partitions avec notre préféré convention de nommage.
votre lien cassé
Bien que l'intervalle de partitionnement est un grand pas dans la bonne direction, il a des failles importantes en fonction de ce que vous faites. Les principaux d'entre eux sont pour moi de la difficulté à l'abandon de vieilles partitions et la limite sur le nombre de partitions que vous pouvez avoir.
OriginalL'auteur APC
vous pouvez automatiser le processus de création ou de tronquer des partitions grâce à l'utilisation de SQL dynamique. Vous pouvez rédiger des procédures, soit avec EXÉCUTION IMMÉDIATE ou
DBMS_SQL
et vous planifier avecDBMS_JOB
ouDBMS_SCHEDULER
(DBMS_SCHEDULER
est un 10g fonctionnalité et il est plus polyvalent queDBMS_JOB
).Vous voulez probablement pour construire la partition déclarations d'abord manuellement et d'automatiser le processus plus tard, lorsque vous êtes à l'aise avec le DDL. Vous trouverez tous les la syntaxe dans le documentation pour l'instruction ALTER TABLE.
OriginalL'auteur Vincent Malgrat
Voici un exemple de quelque chose que je suis venu pour créer les partitions à l'aide
SYSDATE
et un offset. J'ai dû créer le remplacement des paramètres avec une chaîne concaténée à laSYSDATE
:OriginalL'auteur John Fuller
Il y a un produit qui prend soin de lui automatiquement. En root dans une console pour Oracle fournit automatique de la partition de gestion, basée sur l'organisation de rétention, y compris la purge et d'archivage des données anciennes, statistiques etc copie. Vous pouvez l'essayer à http://www.xyrosoft.com
OriginalL'auteur user2758538