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 03/01/2008, 12h25   #1
Membre du Club
 
Inscription : décembre 2006
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 119
Points : 61
Points : 61
Par défaut tables avec option AUTOALLOCATE

Bonjour, et bonne année !

J'ai créé mes tables (partitionnées) en Oracle 9i avec l'option AUTOALLOCATE et j'ai taillé l'INITEXTENT avec un seuil un peu inférieur à la taille de la partition minimum pour économiser l'espace.
Après l'import les tailles ont donc augmenté mais je me retrouve avec pas mal d'extents. Je ne sais pas comment il les alloue au niveau taille mais est-ce pénalisant pour les performances ?

Merci.
pat29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 12h30   #2
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
Oui ça peut être pénalisant si tu attends énormément de volume dans chaque partition : http://oracle.developpez.com/guide/a...lespaces/#L4.1

La régle d'allocation est du genre (de mémoire) : 100° extent de 8k, du 101° au 1000° de 16k, du 1001 au 10000° de 32k... etc. C'est probablement pas la régle exacte mais c'est l'esprit
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 14h14   #3
Membre du Club
 
Inscription : décembre 2006
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 119
Points : 61
Points : 61
Merci, je viens de voir sur le lien que les 16 premiers extents font 64k, les 64 suivant 1024k.
Je pense donc que pour mon cas (certaines partitions dépassent 1 Go) il vaudrait mieux prendre UNIFORM SIZE pour pouvoir paramétrer un NEXT EXTENT proportionnel, non ?
pat29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 14h35   #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
en effet ça peut être une solution
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 14h49   #5
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
l'uniform est surtout intérêssant dans un tablespace où l'on crée/droppe beaucoup.
je ne vois pas en quoi l'auto vous pose soucis...

avec un uniform, vous risquez d'avoir encore plus d'extents, ou alors avoir une taillle d'uniforme très grande vous faisant perdre de la place...

quand à la règle, elle n'est pas documentée alors on ne peut que constater certains fonctionnement, mais il n'est pas possible de dire que c'est ce qui se produira avec certitude.

Si on ne fait pas beaucoup de drop/create, je préfère auto à uniform.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 16h54   #6
Membre du Club
 
Inscription : décembre 2006
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 119
Points : 61
Points : 61
J'ai des drop/create uniquement pour les partitions.
Sinon le pb est que les partitions sont liées au mois et que le nombre de lignes augmente inexorablement avec le temps. Donc si je fixe l'INITIAL EXTENT au niveau de la 1ère partition, et sachant que l'on peut monter jusqu'à un écart de 100 Mo avec la dernière, nous aurons beaucoup d'extents, vu la taille attribuée par l'AUTOALLOCATE...
pat29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 23h22   #7
Membre éprouvé
 
Inscription : décembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 354
Points : 408
Points : 408
Citation:
J'ai des drop/create uniquement pour les partitions.
Sinon le pb est que les partitions sont liées au mois et que le nombre de lignes augmente inexorablement avec le temps. Donc si je fixe l'INITIAL EXTENT au niveau de la 1ère partition, et sachant que l'on peut monter jusqu'à un écart de 100 Mo avec la dernière, nous aurons beaucoup d'extents, vu la taille attribuée par l'AUTOALLOCATE...
J'ai l'impression qu'il y a plusieurs sous-entendus et plusieurs confusions:

AUTOALLOCATE et UNIFORM sont désignés au niveau des tablespaces et non au niveau des tables.
Les paramètres de stockage comme NEXT et PCTINCREASE sont définis par segment et non par table

Il faut également savoir que les paramètres de stockage de la table (du segment plus correctement) ne sont plus considérés après la création si le segment est sur un tablespace géré localement et ceci contrairement à ce que laissent enrendre certaines phrases
Michel SALAIS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2008, 09h02   #8
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
Citation:
Envoyé par Michel SALAIS Voir le message
Il faut également savoir que les paramètres de stockage de la table (du segment plus correctement) ne sont plus considérés après la création si le segment est sur un tablespace géré localement et ceci contrairement à ce que laissent enrendre certaines phrases
j'ai pas compris se passage... ça laisserait entendre que les paramètres du tablespace "écrasent" les paramètres des segments
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2008, 09h16   #9
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
Pour les tablespaces gérés localement, oui. C'est ce qui dit la documentation parfois clairement et parfois moins clairement en ne faisant pas la distinction entre les tablespaces à gestion d'espace locale (LMT) et les tablespaces à gestion d'espace dans le dictionnaire (DMT).
__________________
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 04/01/2008, 09h28   #10
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
En effet, j'avais pas percuté... la gestion des extents est effectivement complétement gérés par le tablespace et plus par les segments... mais faut pas confondre avec les clauses de stockage qui inclus PCTFREE, PCTUSED, etc... et reste paramètrable au niveau du segment.

Ce qui est géré localement c'est "uniquement" les extents
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2008, 12h24   #11
Membre du Club
 
Inscription : décembre 2006
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 119
Points : 61
Points : 61
Citation:
Il faut également savoir que les paramètres de stockage de la table (du segment plus correctement) ne sont plus considérés après la création si le segment est sur un tablespace géré localement et ceci contrairement à ce que laissent enrendre certaines phrases
Je confirme que si la valeur INITIAL de l'ordre de création de la table est bien utilisée pour chaque partition, la valeur NEXT n'est pas prise en compte.

Sinon quand je dis
Citation:
si je fixe l'INITIAL EXTENT au niveau de la 1ère partition
je voulais dire "au niveau de la taille de la 1ère partition"

Donc si je veux rester en AUTOALLOCATE et limiter le nombre d'extents pour les plus grosses partitions il faudrait que j'augmente l'INITIAL au fur et à mesure des partitions, ce qui est gênant car je génère tous les scripts de création/destruction de partition à partir d'une table de paramètrage avec un script PL*SQL...
pat29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2008, 17h52   #12
Membre éprouvé
 
Inscription : décembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 354
Points : 408
Points : 408
Citation:
Envoyé par pat29 Voir le message
Je confirme que si la valeur INITIAL de l'ordre de création de la table est bien utilisée pour chaque partition, la valeur NEXT n'est pas prise en compte.
C'est à moitié vrai
En effet, si minextents est supérieur à 1 alors NEXT est pris en considération! En réalité, Oracle calcule la taille initiale nécessaire d'après les paramètres de stockage : INITIAL, NEXT, PCTINCREASE et MINEXTENTS et crée le segment avec la taille demandée mais sans respecter ni le nombre ni les tailles des extents. D'un autre côté, Oracle ne va pas "respecter" non plus sa stratégie d'origine pour les tablespaces en AUTOALLOCATE. Ainsi, nous pouvons voir que Oracle va démarrer avec des extents de taille 1M par exemple à la place de 64K.

Par la suite les paramètres de stockage : INITIAL, NEXT, PCTINCREASE, MINEXTENTS et MAXEXTENTS ne sont plus regardés.

[ édité pour rendre plus claire, du moins je l'espère ... ]
Michel SALAIS 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 13h49.


 
 
 
 
Partenaires

Hébergement Web