|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : octobre 2007 Messages : 364 ![]() |
Bonjour
J'ai ma base de données Oracle et je voudrais obtenir l'espace occupé, en MB par chaque table. Hors je ne sais pas quelle table Oracle utiliser: USER_SEGMENTS ou DBA_SEGMENTS. En faisant la query suivante, les valeurs retournées par "x" sont différentes des valeurs de "y": SELECT us.segment_name, SUM(us.bytes) x,SUM(dbas.bytes) y FROM user_segments us, dba_segments dbas WHERE us.segment_name = dbas.segment_name AND us.segment_name IN (SELECT TABLE_NAME FROM user_tables WHERE dropped = 'NO') GROUP BY us.segment_name Quelqu'un peut-il m'aider à ce sujet? Merci |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 459 ![]() |
Tu fais une jointure de 2 vues et tu groupes juste par le nom du segment.
Fais un desc, tu verras qu'il y a des données que tu ne prends pas en compte : La vue DBA contient tous les schémas (OWNER) Si une table est définie dans 2 schémas différents, la vue dba_segment aura 2 lignes (sans compter les partitions)
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#3 | |
|
Membre habitué
![]() Inscription : octobre 2007 Messages : 364 ![]() |
merci!
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com