IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Info Espace Database


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2008
    Messages : 34
    Points : 39
    Points
    39
    Par défaut Info Espace Database
    Voilà,
    je veux connaître les paramètres suivants pour une instance donnée :

    Total de l'espace alloué à la base de donnée (MB_Allocated),
    Total de l'espace utilisé (MB_Used)
    Total de l'espace libre (MB_Free)
    ET
    Le pourcentage d'espace libre <---- C'est ici que ça accroche!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    SELECT
    sum(MB_Allocated),
    sum(MB_Used),
    sum(MB_Free),
       ME MANQUE LE CODE
    FROM (
    SELECT * FROM (
    SELECT
    sum(ROUND((A.BYTES/1048576),2)) MB_Allocated,
    sum(ROUND(((A.BYTES-DECODE(F.BYTES,NULL,0,F.BYTES))/1048576),2)) MB_Used,
    sum(ROUND(((A.BYTES/1048576)-(A.BYTES-DECODE(F.BYTES,NULL,0,F.BYTES))/1048576),2)) MB_Free
    FROM SYS.DBA_TABLESPACES D, SYS.SM$TS_AVAIL A, SYS.SM$TS_FREE F
    WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME AND F.TABLESPACE_NAME(+)=D.TABLESPACE_NAME) y
    UNION ALL
    SELECT * FROM (
    SELECT
    sum(ROUND((a.bytes/1048576),2)) MB_Allocated,
    sum(ROUND(NVL(t.bytes,0)/1048576,2)) MB_Used,
    sum(ROUND((a.bytes/1048576) - (NVL(t.bytes,0)/1048576),2)) MB_Free
    FROM sys.dba_tablespaces d,
    (SELECT tablespace_name, sum(bytes) bytes
    FROM dba_temp_files GROUP BY tablespace_name) a,
    (SELECT tablespace_name, sum(bytes_cached) bytes
    FROM SYS.v_$temp_extent_pool GROUP BY tablespace_name) t
    WHERE d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = t.tablespace_name(+) AND d.extent_management like 'LOCAL' AND d.c
    ontents like 'TEMPORARY') z
    )
    J'ai essayé avec toute sorte de code, utilisant ROUND qui me retourne quelque chose du genre c'est pas une commande "group". J'ai utilisé SUM qui me retourne la mauvais réponse mathématique... a vrai dire, je sais plus quoi inventer pour arriver au bon résultat.

    Quelqu'un aurait-il la solution???

    Merci

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Le % par rapport à la taille allouée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ROUND(100 * SUM(Mb_Free) / SUM(Mb_Allocate),2)
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2008
    Messages : 34
    Points : 39
    Points
    39
    Par défaut
    Je te remerci énormément McM, ta commande fonctionne très bien, j'avais essayé avec ROUND et ça me retournait une erreur de "not a group by function" ou quelque chose du genre. Faut dire que ma commande avait deux pieds de long aussi alors ... un pied-six pouces de trop

    Merci encore.

    William

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/09/2014, 13h55
  2. Restore Database - Info de Succes ou Erreur
    Par edokt dans le forum Administration
    Réponses: 1
    Dernier message: 10/03/2009, 18h35
  3. [Info] Database control perturbé par glogin.sql
    Par Pomalaix dans le forum Entreprise Manager
    Réponses: 1
    Dernier message: 19/08/2008, 15h41
  4. [CR] Est il possible de créer des univers avec Seagate Info?
    Par Frank dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/06/2002, 15h22
  5. Tutoriels et liens pour le Borland Database Engine
    Par Community Management dans le forum Paradox
    Réponses: 0
    Dernier message: 25/03/2002, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo