Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec 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 31/05/2011, 12h31   #1
Nouveau Membre du Club
 
Inscription : octobre 2008
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 151
Points : 36
Points : 36
Par défaut Comment avoir le % de défragmentation d'un base

Bonjour
Sous unix en oracle 10

Constat
Lors d'un export (exp) la génération du dump est extrement long (5h40 pour 172 000 articles et une BDD de 12Go)
alors que pour une base similaire sur une autre machine le temps est <2 h

Objectif
Vérifier que la base n'est pas en cause.
Est'il possible de connaitre le % de defragmentation de la base autrement dit le nombre de bloc non contigue ?

D'avance merci de toutes infiormation ou pistes.
gold15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 17h50   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
Faut voir du côté des tablespaces (voir le tuto)
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 12h05   #3
Nouveau Membre du Club
 
Inscription : octobre 2008
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 151
Points : 36
Points : 36
Par défaut j'ai trouvé

Bonjour

j'ai trouvé la réponse a ma question.
Alors afin que cela puisse servir au plus grand nombre voici ma découverte

I. Évaluer la taille des tablespaces
Pour évaluer la taille d’un tablespace , vous pouvez utiliser cette requête en remplaçant simplement tablespace_name par le nom du tablespace dont vous souhaitez obtenir la taille :
view plaincopy to clipboardprint?
Code :
1
2
3
4
5
6
7
8
9
1.    SELECT ddf.{{tablespace_name}} AS « NAME »,   
2.    ROUND((ddf.bytes/1024)/1024,2) AS « SIZE(Mo) »,   
3.    ROUND((ddf.bytes/1024)/1024 - (SUM(dfs.bytes)/1024)/1024,2) AS « ALLOCATED(Mo) »,   
4.    ROUND((SUM(dfs.bytes)/1024)/1024,2) AS « FREE(Mo) », ROUND(((ddf.bytes - SUM(dfs.bytes)) * 100) / ddf.bytes,2) AS « %USED »    
5.    FROM    (SELECT {{tablespace_name}}, SUM(bytes) AS bytes FROM dba_data_files GROUP BY {{tablespace_name}}) ddf    
6.    JOIN dba_free_space dfs    
7.    ON dfs. {{tablespace_name}} = ddf. {{tablespace_name}}   
8.    GROUP BY ddf. {{tablespace_name}}, ddf.bytes   
9.    ORDER BY 5 DESC ;
II. Vérifier si les blocs sont bien contigus
Pour vérifier que les blocs d’un tablespace sont bien contigus, vous pouvez utiliser cette requête en remplaçant simplement tablespace_name par le nom du tablespace que vous souhaitez analyser :
view plaincopy to clipboardprint?
Code :
1
2
3
1.    SELECT  {{tablespace_name}} AS NAME,   
2.    percent_blocks_coalesced AS PERCENT_COALESCED     
3.    FROM    dba_free_space_coalesced ;
III. Défragmenter manuellement un tablespace
Enfin, si vous souhaitez défragmenter manuellement un tablespace , vous pouvez utiliser la commande ALTER TABLESPACE comme indiquez ci-dessous en remplaçant simplement tablespace_name par le nom du tablespace que vous souhaitez défragmenter :
view plaincopy to clipboardprint?
Code :
1.    ALTER TABLESPACE {{tablespace_name}} COALESCE ;
gold15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2011, 00h03   #4
Membre éprouvé
 
Femme
Administrateur de base de données
Inscription : novembre 2007
Messages : 341
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

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

Informations forums :
Inscription : novembre 2007
Messages : 341
Points : 478
Points : 478
est-ce bien la fragmentation qui est responsable de la lenteur de l'export ?
si la base est vraiment fragmentée autant faire une réorg, car pas mal de traitements vont peiner sur une telle database.
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h38.


 
 
 
 
Partenaires

Hébergement Web