Bonjour,
Existe-il un moyen d'estimer la taille (octet) d'un export via une requête SQL ?
Merci d'avance,
Bonjour,
Existe-il un moyen d'estimer la taille (octet) d'un export via une requête SQL ?
Merci d'avance,
la clause where dépend de ce qui est exporté. Pour l'export complet d'un utilisateur ce sera un filtre sur OWNER
Code : Sélectionner tout - Visualiser dans une fenêtre à part select sum(bytes) from dba_segments where...![]()
Un export full de ma base fait 662 Mo et le resultat de ma requête fait :
J'ai fait une connerie ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select sum(bytes)/1024/1000 from dba_segments; SUM(BYTES)/1024/1000 -------------------- 2390,256![]()
non, l'export "défragmente" les objets donc des extents libres sont pas exportés ce qui permet de réduire la taille du fichier![]()
Il y a une solution alors pour avoir une estimation de l'export full ?
moi je pondère par un ratio que j'ai établi grâce à d'autres exports...
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.
juste un détail en passant...
tu divise la somme de tes bytes par 1024 (un kb = 1024 bytes) puis tu divise par 1000 et pas par 1024... pourquoi ?
un Mb = 1024 kb et pas 1000 kb...
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !
Yorglaa
Peux-tu nous donner ton ratio ?
Oups ! Tu as raison pour les 1024 !
Le ratio dépend de chaque base !! De son contenu, de la façon dont elle est remplie, du type des colonnes des tables, etc.
Dans ton cas le ratio sera 662/2390. Si tu le multiplie par le résultat d'une requête future tu devrais pouvoir extrapoler la taille de ton export.
C'est du bricolage évidemment ...
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.
si tu as accès à Metalink, va voir la note no 303709.1
c'est plein de choses utiles pour calculer les espaces libres et / ou utilisés...
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !
Yorglaa
je ne suis pas d'accord sur votre requête.
Dans les segments, il y a les indexes qui ne prennent pas de place dans l'export.
Peux être que cette requête serq plus proche de la réalitée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select sum(bytes)/1024/1000 from dba_segments t where t.segment_type <> 'INDEX';
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager