Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/02/2007, 15h42   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2004
Messages : 94
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 94
Points : 14
Points : 14
Par défaut [Oracle 9i] Découpage données par année, gros volumes

Bonjour à tous,

Pour simplifier le problème :

Soit deux tables A et B, chacune possédant des millions d'enregistrements par année (environ 30 millions pour chaque table).

A et B sont dans le même tablespace [TSAB].
Les index sur A et B sont dans un autre tablespace [TSABIDX].


-----

Afin d'optimiser les accès, je me demande qu'elle est la meilleure stratégie pour découper les données.
Par année, je pense, mais comment ?

Un tablespace par année [TSAB2006] (+ [TSAB2006IDX] pour les index) par exemple ?

J'ai entendu parler de Partionning, mais je ne crois pas que cela existe dans Oracle 9iR2, non ? Si oui, quel est le principe ?

Sinon, d'autres idées pour optimiser la base ?

Merci de votre aide !
mainecoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 16h54   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Citation:
J'ai entendu parler de Partionning, mais je ne crois pas que cela existe dans Oracle 9iR2, non
Si cela existe en 9iR2 mais la licence est en général facturée séparément:http://download-uk.oracle.com/docs/c...4/c12parti.htm

Avant de prendre un décision d'architecture ou d'optimisation, il faudrait d'abord analyser les requêtes critiques qui posant problème avec des outils comme Statspack ou la trace SQL et TKPROF.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 17h11   #3
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
le partitionnement par date pour les grosses tables est souvent très rentable. Tu peux bien sûr partitioner par mois, avec une cinquante de partitions pour 4 ans, et ça risque d'avoir des conséquences très positives sur ta performance.

Dans Oracle 11, tu peux aussi créer des partitions automatiquement, mais dans Oracle 8,8i,9,10, il te faut créer chaque partition manuellement. Prévois donc des partitions pour les 12 mois à venir ...

A+
Laurent
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 17h12   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
un partitionnement par année si ce n'est pas le critère le plus discriminant ça n'apportera pas grand chose... n'y a-t-il pas moyen d'archiver une partie des données ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 17h17   #5
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
un des gros avantages du partitionement par date est que souvent dans les systèmes transactionnels, seule la dernière année/mois/jour est accédée.

Dans Oracle 9, il existe déjà le partitionement composite, qui te permet de sous partitioner, par département, par clé primaire, par ce que tu veux
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 17h19   #6
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
un autre gros avantages du partitionement par date est l'archivage, style tu exportes la partition P1999 et P2000 et ensuite tu drop la partition, c'est ultra rapide
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 19h24   #7
Candidat au titre de Membre du Club
 
Inscription : juillet 2004
Messages : 94
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 94
Points : 14
Points : 14
Merci pour vos réponses fortes intéressantes !

Oui, effectivement, j'avais bien entendu ou lu que le Partionning existait sous Oracle 9iR2, mais je crains que ma version n'ait pas ce "module"/"option" !

Je vais regarder de plus près, mais je crois bien ne pas avoir la licence dont parle pifor.

En fait, dans la table A et B, nous descendons carrément au jour (il y a un champ date donc) !
(Pour accélérer, il existe aussi une table C d'agrégation au mois basée sur A&B, est aussi un cumul de l'année dans une table D.)

Pour ce qui est des archives, nous avons besoin d'au moins des 4 dernières années. Celles-ci doivent donc rester accessibles dans la base.
mainecoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h46.


 
 
 
 
Partenaires

Hébergement Web