Espacio reservado

jamelgo
02 de Julio del 2003
Me gustaria sacar el espacio reservado,el espacio libre y el total del espacio por cada datafile en cada tablespace utilizando las vistas dba_free_space y dba_data_files


Gracias

nerea
02 de Julio del 2003
A ver si te sirve:

SELECT v.status "Estado", d.file_name "Nombre", d.tablespace_name "Tablespace",
TO_CHAR(NVL(d.bytes / 1024 / 1024, 0), '99999990D000') "Tamaqo (M)",
TO_CHAR(NVL((NVL(s.bytes, 0))/1024/1024, 0), '99999990D000') "Libre (MB)",
TO_CHAR(NVL((NVL(s.bytes, 0)) / d.bytes * 100, 0), '990D00') "Porcentaje Libre"
FROM sys.dba_data_files d, v$datafile v,
(SELECT file_id, SUM(bytes) bytes
FROM sys.dba_free_space GROUP BY file_id) s
WHERE (s.file_id (+)= d.file_id) AND (d.file_name = v.name)
UNION ALL
SELECT v.status "Estado", d.file_name "Nombre", d.tablespace_name "Tablespace",
TO_CHAR(NVL(d.bytes / 1024 / 1024, 0), '99999990D000') "Tamaqo (M)",
TO_CHAR(NVL((d.bytes-t.bytes_cached),d.bytes)/1024/1024,'99999990D000') "Libre (MB)",
TO_CHAR(NVL((d.bytes-t.bytes_cached) / d.bytes * 100, 100), '990D00') "Porcentaje Libre"
FROM sys.dba_temp_files d, v$temp_extent_pool t, v$tempfile v
WHERE (t.file_id (+)= d.file_id) AND (d.file_id = v.file#)