Oracle Live

11/04/2016

QUERY – Tablespace ocupacion

Filed under: Queries — mogukiller @ 11:56 pm
Tags:

Muestra la ocupación del tablespace teniendo en cuenta si esta en autoextend.

/*
TABLESPACE_NAME                  Size(MB)    Alojado      Usado    Free(%)    Used(%)
------------------------------ ---------- ---------- ---------- ---------- ----------
PRUEBAS_PART                         1024       1024          6         99          1
UE001PDE                             3000       3000      84,81         97          3
PATROL                                100        100       6,06         94          6
UEAUDMDE                              100        100       6,06         94          6
SYSTEM                               4096       4096     397,06         90         10
USUARIOS                               50         50       7,13         86         14
SYSAUX                               4096       4096    1220,56         70         30
UE001PIE                             5000       5000    1704,63         66         34
UE001GIE                           200000     200000      86730         57         43
UE001MIE                            75000      75000   33111,25         56         44
UE001MDE                            30000      30000   16313,94         46         54
UNDOTBS2                            10000      10000    5585,25         44         56
UNDOTBS1                            10000      10000    7377,25         26         74
UE001GDE                           200000     200000   149263,5         25         75
*/

UNDEFINE tablespace_name
COL max_mb HEADING "Size(MB)"
COL alloc_mb HEADING "Espacio|Alojado"
COL used_mb HEADING "Espacio|Utilizado"
COL used_mb HEADING "Espacio|Usado"
COL max_free_pct HEADING "Free(%)"
COL max_used_pct HEADING "Used(%)"
SELECT a.tablespace_name,
  ROUND(maxbytes              / 1024 / 1024, 2) max_mb ,
  ROUND(a.bytes_alloc         / 1024 / 1024, 2) alloc_mb,
  ROUND((a.bytes_alloc        - NVL(b.bytes_free, 0)) / 1024 / 1024, 2) used_mb ,
  100- ROUND((a.bytes_alloc - NVL(b.bytes_free, 0)) / maxbytes * 100, 0) max_free_pct,
  ROUND((a.bytes_alloc - NVL(b.bytes_free, 0)) / maxbytes * 100, 0) max_used_pct
FROM
  (SELECT f.tablespace_name,
    SUM(f.bytes) bytes_alloc ,
    SUM(DECODE(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes
  FROM dba_data_files f
  GROUP BY tablespace_name
  ) a ,
  (SELECT f.tablespace_name,
    SUM(f.bytes) bytes_free
  FROM dba_free_space f
  GROUP BY tablespace_name
  ) b
WHERE a.tablespace_name = b.tablespace_name(+)
and  a.tablespace_name LIKE '%&&tablespace_name%'
and ROUND((a.bytes_alloc - NVL(b.bytes_free, 0)) / maxbytes * 100, 0) >= NVL('&umbral',1)
UNION ALL
SELECT h.tablespace_name,
  ROUND(MAX(h.bytes_used          + h.bytes_free) / 1024 / 1024, 2) ,
  ROUND(SUM(h.bytes_free          + h.bytes_used) / 1048576, 2),
  ROUND(SUM(NVL(p.bytes_used, 0)) / 1048576, 2) ,
  100 - ROUND(SUM(NVL(p.bytes_used, 0)) / MAX(h.bytes_used + h.bytes_free) * 100, 2),
  ROUND(SUM(NVL(p.bytes_used, 0)) / MAX(h.bytes_used + h.bytes_free) * 100, 2)
FROM sys.v_$temp_space_header h,
  sys.v_$temp_extent_pool p
WHERE p.file_id(+)       = h.file_id
AND p.tablespace_name(+) = h.tablespace_name
AND p.tablespace_name LIKE'%&&tablespace_name%'
GROUP BY h.tablespace_name
ORDER BY 5 DESC

/

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Blog de WordPress.com.

A %d blogueros les gusta esto: