|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : mai 2004 Messages : 271 ![]() |
Bonjour,
Sur une base oracle 9.2. Je viens de me récuperer une appli faites à la va-vite. J'ai quelques tables dont le volume est amené à augmenter régulierement. Entre 10 000 et 30 000 inserts par jour selon la table. Rien n'est prévu à ce jour pour "décharger" les tables et on s'approche du million d'enregistrements. Même si tout est sur un SAN en cluster et des machines puissantes je vois bien qu'il y aura des problèmes de performance à terme. Quelle serait pour vous la meilleure solution pour "vider" les tables ? Batch ? Triggers ? Comment peut on définir le seuil critique à partir duquel il faut declencher les opérations de nettoyage ? Quels sont les objects à examiner en priorité (tablespaces ?) |
|
|
00
|
|
|
#2 |
![]() ![]() Consultant en Business Intelligence Inscription : janvier 2007 Messages : 1 192 ![]() |
Bonjour,
Pour moi la meilleure solution est un batch régulier, une fois par mois par exemple. Après cela dépend du critère qui permet de vider ta table. Et cela dépend si les donnèes que tu vires sont supprimées ou copiées vers une autre table. Surveiller les tablespaces est effectivement une bonne solution pour savoir lorsque tu atteind le seuil critique. voili, voilou |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
le seuil critique dépend des perfs, là il n'y a pas de régle. Le batch est une bonne solution, pense également au partitionning qui peut être intéressant... malheureusement l'option est couteuse
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Il n'y a pas d'algorithme infaillible qui puisse dire à partir de quel moment la taille d'une table va poser problème en termes de performances. Vous pouvez essayer de simuler l'accroisssement des données sur un système de test et analyser les performances du système.
Si vous voulez garder des données sur une durée fixe et purger toutes les données plus vieilles (ex: je ne veux garder que 2 ans en ligne et tout ce qui est plus vieux de 2 ans doit être purgé et/ou archivé), l'utilisation du partionnement peut être une solution intéressante: http://download-uk.oracle.com/docs/c...i.htm#i1008287. Ceci dit, en général, avoir quelques millions de lignes dans une table ne nécessite pas forcément l'utilisation du partionnement et il faut savoir que le partionnement est un option de la version Entreprise facturée séparément. |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : mai 2004 Messages : 271 ![]() |
Merci pour votre aide.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com