Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur 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 07/09/2007, 17h20   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 3
Points : 3
Par défaut Performances sous 9i

Bonjour,

J'ai des problèmes de lenteur ave c un base sous 9i.
J'ai créé mon TBS de la manière suivante :

Code :
1
2
3
4
5
CREATE TABLESPACE USERD DATAFILE '%O_DATA%/%DB_SID%/userd01.dbf' SIZE 512M
AUTOEXTEND ON NEXT 50M MAXSIZE %TS_USER_MAX_SIZE%M 
DEFAULT STORAGE (INITIAL 32K NEXT 32K MAXEXTENTS UNLIMITED) 
PERMANENT 
ONLINE;
Au fil de l'utilisation mon TBS s'est rempli à 65 % avec que des extends de même taille. Les extends libres sont tous contigus.
1) Ceci signifie-t-il bien que mes données ne sont pas fragmentées ?


en lancant la requete :

Code :
1
2
3
4
SELECT segment_name,tablespace_name,segment_type,extents,max_extents,bytes,owner
FROM sys.dba_segments
WHERE (owner != 'SYS' OR ( owner = 'SYS' AND segment_type = 'ROLLBACK')) AND tablespace_name='USERD'
ORDER BY owner,segment_Type DESC, segment_name
J'ai certaines tables (segments) qui ont jusqu'à 3500 extends...

2) Quelles optimisation puis-je envisager :
Un export, drop des tables et des indexes et réimports afin de créer les tables dans des extends contigus ?
Un move des tables vers un autre TBS.
Autre chose qui pourrait expliquer que les performances ne sont pas bonnes ?

Merci d'avance
toontoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 17h30   #2
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 3
Points : 3
En parcourant develepé j'ai trouver ces recommandations :

Taille d'extent selon la taille des objets

* Juqu'à 160 Mo, INITIAL=NEXT=160 ko
* De 160 Mo à 5 Go, INITIAL=NEXT=5 Mo
* Au delà de 5 Go, INITIAL=NEXT=160 Mo

Il faudrait donc que je recréé mes TBS avec un INITIAL=NEXT=5 Mo

ça serait plus logique...
toontoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 18h21   #3
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 38
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 38
Points : 37
Points : 37
Si le tablespace est en localy managed (comme c'est par défaut depuis la 9.2), Oracle gère lui-même la taille des extensions, et ne lit le INITIAL que pour tailler assez d'extentions lors de la création du segment. Ensuite, ca fait des petites extensions, puis des plus grosses, ...
tu peux faire un truc du genre :
create table toto (id integer) tablespace mon_tbs;
insert into toto values(1);

-- là tu regardes le nb d'extensions, leur taille, ...
insert into toto select * from toto;
insert into toto select * from toto;
insert into toto select * from toto;
insert into toto select * from toto;
...
insert into toto select * from toto;
tu regardes à nouveau
au bout d'un moment, tu verras la taille augmenter
mildiou51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2007, 15h26   #4
Membre actif
 
Inscription : septembre 2007
Messages : 188
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : septembre 2007
Messages : 188
Points : 195
Points : 195
Bonjour,

Vous indiquez avoir des pbs de performance, mais qu'est ce qui vous fait croire que cela vient de la création de votre tbs.

avez vous utilisé Statspack pour identifier l'origine des pbs de lenteur ?
Les pbs de lenteur peuvent être multiples.
lallio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2007, 09h33   #5
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 3
Points : 3
bonjour,

Je suis novice en tant que DBA oracle. J'avoue que je suis un peu perdu et que je ne sais pas par où commencer pour chercher... La piste de la fragmentation me semblait être une bonne piste ...
toontoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2007, 11h10   #6
Membre confirmé
 
Inscription : juillet 2007
Messages : 357
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 357
Points : 226
Points : 226
telecharge la doc officielle oracle 9 et lit le livre 'oracle performance tuning guide'

ca t apprendra 80% de ce qu'il faut conaitre pour le tuning oracle
ZashOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 09h32   #7
Invité régulier
 
Inscription : septembre 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 7
Points : 5
Points : 5
Hello!

Déjà... je pense qu'il vaut mieux créer ton tablespace en gestion local et non par dictionnaire...

"...EXTENT MANAGEMENT LOCAL UNIFORM SIZE 160K;"

Comme ca tu ne passeras plus par le dictionnaire de données pour gérer l'espace du TBS et Oracle se débrouillera tout seul...

Après le nombre d'extent dépend aussi de la taille de table...

Pour la fragmentation, t'en as plusieurs type... tu peux avoir tous les blocks de table à la suite mais avoir des lignes chainées car il y a eu beaucoup de update/delete sur la table...

Je pense qu'il faut que tu nous en dise un peu plus sur la requete ou sur ton problème de perf car en fait ca vient très rarement du tablespace...

Tu peux utiliser statpack comme le dit lallio pour y voir plus clair...
Merilka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2007, 15h18   #8
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 3
Points : 3
Merci pour vos réponses...

On m'a également conseillé d'activer les traces et d'utiliser tkproof pour voir ce qu'il se passe...
Vous me conseillez 'statpack' ... Par contre je ne sais trop comment utiliser ni appréhender cet outil
toontoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2007, 21h40   #9
Membre actif
 
Inscription : septembre 2007
Messages : 188
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : septembre 2007
Messages : 188
Points : 195
Points : 195
http://oracle.developpez.com/guide/tuning/statpack/

C'est un tutoriel assez simple et normalement en le suivant ca marche bien.
reste après à exploiter le résultat mais c'est une autre histoire.
lallio 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 09h44.


 
 
 
 
Partenaires

Hébergement Web