Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1877 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Oracle et vérification du remplissage des TableSpace ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Oracle et vérification du remplissage des TableSpace ?

n°1638160
ibonina
Posté le 07-11-2007 à 12:50:07  profilanswer
 

Bonjour,
 
J'aimerais savoir comment on fait sous Oracle pour obtenir le % d'utilisation maximal des tablespaces qui ont été créées pour une base de données.
 
Exemple, création d'un tablespace DB_SPACE de taille 8M MAXSIZE 16M
 
Si je fais un select * from dba_tablespaces, je peux obtenir le BlockSize.
Je peux faire aussi un select * from dba_freespace ;
 
Cependant je n'arrive pas à savoir si un de mes TablesSpace a atteind sa taille limite.
 
Quelqu'un pourrait m'aider s'il vous plait ?

mood
Publicité
Posté le 07-11-2007 à 12:50:07  profilanswer
 

n°1638195
olivthill
Posté le 07-11-2007 à 13:49:14  profilanswer
 

Voici une petite procédure pour cela

REM =====================================================================
REM Procedure     : tbs01
REM But           : Taille et taux de remplissage des tablespaces
REM Lancement     : Compte sys
REM =====================================================================
spool tbs01
 
COL ts               FOR A30 HEAD "TABLESPACE"          TRUNC
COL vol              FOR A10 HEAD "VOLUME"              TRUNC
COL vol_o            FOR A10 HEAD "VOLUME|OCCUPE"       TRUNC
COL vol_r            FOR A10 HEAD "VOLUME|RESTANT"      TRUNC
COL tx_r             FOR A11 HEAD "TAUX DE|REMPLISSAGE" TRUNC
 
 
SELECT t.name                                             ts   ,
       LPAD   (
       TO_CHAR( SUM(f.blocks)*
                t.blocksize  *
                COUNT(DISTINCT(f.file#))
              /(COUNT(*)     *
                1024         ))||' K',10,' ')             vol  ,
       LPAD   (
       TO_CHAR( SUM(s.blocks)*
                t.blocksize
              /(1024         *
                COUNT(DISTINCT(f.file#))))||' K',10,' ')  vol_o,
       LPAD   (
       TO_CHAR((SUM(f.blocks)*
                t.blocksize  *
                COUNT(DISTINCT(f.file#))
              /(COUNT(*)     *
                1024         ))
             - (SUM(s.blocks)*
                t.blocksize
              /(1024         *
                COUNT(DISTINCT(f.file#)))))||' K',10,' ') vol_r,
       LPAD   (
       TO_CHAR(
       CEIL (((SUM  (s.blocks)*
               COUNT(*))
            / (SUM  (f.blocks)*
               POWER(COUNT(DISTINCT(f.file#  )),2)))
              *100))||' %',10,' ')                        tx_r
FROM   sys.seg$       s,
       sys.ts$        t,
       sys.file$      f
WHERE  s.ts# (+)      = t.ts#
  AND  f.ts#          = t.ts#
  AND  f.status$      = 2
GROUP BY
       t.name         ,
       t.blocksize
ORDER BY
       1
;
SPOOL OFF
exit

n°1638669
Profil sup​primé
Posté le 07-11-2007 à 22:08:52  answer
 

Si tu as OEM c'est fait direct dedans sous forme graphique ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Oracle et vérification du remplissage des TableSpace ?

 

Sujets relatifs
[RESOLU][D 7] utilisation de try...except...endscript remplissage formulaires html & POST DATA
[SQL,ORACLE]Message d'erreur mutating, trigger....(RESOLU)Verification mot de passe
Problème d'insertion dans une table sous oracleConnexion à une base Oracle Express 10g
Double vérification dans une boucle if[ORACLE] Conversion notation scientifique -> decimal
[ORACLE] procédure stockée[Oracle] 2 requetes faisant la meme chose, deux résultats differents
Plus de sujets relatifs à : Oracle et vérification du remplissage des TableSpace ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR