Requête sql pour déterminer l'espace occupé dans les tablespaces sur oracle

2/5 (5 avis)

Snippet vu 83 725 fois - Téléchargée 19 fois

Contenu du snippet

Cette requête SQL permet de déterminer l'espace disque occupé dans les tablespaces d'une base de données Oracle. Le résultat obtenu permet de gérer les points suivants:
  • Le taux d'occupation des tablespaces de la base.
  • Les objets sont-ils bien répartis dans les tablespaces (séparation INDEX et TABLE).
  • Les schémas applicatifs n'utilisent-ils bien que leurs tablespaces (cas de tables ou index créés dans des tablespaces d'autres applicatifs).
  • La mise en oeuvre de quotas Oracle.

Source / Exemple :


SELECT  OWNER                       AS "SCHEMA",
        TABLESPACE_NAME             AS "TABLESPACE", 
        SEGMENT_TYPE                AS "TYPE OBJET",
        Sum(BYTES) / 1024 / 1024    AS "TAILLE (Mb)" 
FROM    DBA_EXTENTS 
GROUP BY OWNER, TABLESPACE_NAME, SEGMENT_TYPE
ORDER BY OWNER, TABLESPACE_NAME;

Conclusion :


Il faut avoir accès aux vues DBA pour pouvoir exécuter cette requête.

J'espère que cette source pourra aider quelqu'un.

A voir également

Ajouter un commentaire Commentaires
cs_lamjed Messages postés 7 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 19 décembre 2012
19 déc. 2012 à 11:46
merci pour ton aide
timatititi Messages postés 2 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 8 janvier 2009
8 janv. 2009 à 23:57
bonjour,
merci, la réponse est très clair et globale, alors j'ai bien compris le principe des quotas...
merci
sgoriaud Messages postés 1 Date d'inscription mardi 26 août 2003 Statut Membre Dernière intervention 7 janvier 2009
7 janv. 2009 à 09:09
Bonjour,

Les quotas (en espace disque), sous Oracle, sont gérés au niveau utilisateur tablespace par tablespace. Par exemple, lorsque l'on crée un utilisateur Oracle, on aura:
CREATE USER TEST_USER IDENTIFIED BY PASSWORD
DEFAULT TABLEPSACE TBS_TEST_01
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON TBS_TEST_01;
Dans cet exemple, l'utilisateur TEST_USER a le droit d'utiliser l'intégralité de l'espace disque disponible dans le tablespace TBS_TEST_01. Si l'on veut limiter la consommation d'espace disque d'un utilisateur sur un tablespace donné, cependant, il est nécessaire de connaître la consommation actuelle d'espace disque sur le tablespace donné pour l'utilisateur concerné. Sans cela, on bloque l'utilisateur, ce qui peut avoir des conséquences désastreuses dans certains cas.

J'espère avoir répondu à votre interrogation.
timatititi Messages postés 2 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 8 janvier 2009
6 janv. 2009 à 00:12
salut
je trouve que ce programme marche bien sous sqlplus,
et il m'a donné 96 lignes, mais je veux savoir l'emplacement de "La mise en oeuvre de quotas Oracle." et ça un exemple de l'affichage:
SCHEMA TABLESPACE TYPE OBJET
------------------------------ ------------------------------ ------------------

TAILLE (Mb)
-----------
PM EXAMPLE TABLE
,125

PM EXAMPLE LOBINDEX
1,0625

PM EXAMPLE INDEX
,1875
anadeveloppeur Messages postés 153 Date d'inscription samedi 10 septembre 2005 Statut Membre Dernière intervention 21 février 2019
18 mars 2008 à 16:33
Bonjour.
Pourrais-tu donner le code équivalent pour un SGBD SQL Server 2000? j'ai fais copier coller du code, et ça passe dans l'analyse, mais lors de l'exécution ça donne l'erreure suivante :

Serveur : Msg 208, Niveau 16, État 1, Ligne 1
'DBA_EXTENTS' : nom d'objet incorrect.

Merci de toute façon pour le code ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.