miércoles, 25 de junio de 2014

SCRIPT TAMAÑO BASE DE DATOS ORACLE

prompt =========================tamanho total do banco de dados================================
prompt

select sum("TAMANO GB") tama_bd, sum("USADO GB") usado_bd, sum(libre) libre_bd from
(SELECT A.TABLESPACE_NAME, round(A.todo/1024/1024/1024) AS "TAMANO GB", round((A.todo-b.libre)/1024/1024/1024,0) AS "USADO GB",round(B.LIBRE/1024/1024/1024,0) AS LIBRE, ROUND(100*(A.todo-b.libre)/(A.todo),0) "%USO"
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) AS todo FROM DBA_data_files
GROUP BY TABLESPACE_NAME) A, (SELECT TABLESPACE_NAME, SUM(BYTES) AS LIBRE
FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME(+)
--and  A.TABLESPACE_NAME like '%IVR%'
--order by round(B.LIBRE/1024/1024/1024,0) DESC
UNION all
select U.TABLESPACE_NAME, T.TAMANO, U.USADO, T.TAMANO-U.USADO LIBRE, round((100*U.USADO)/(T.TAMANO),0) "%USO"
FROM (SELECT TABLESPACE_NAME, ROUND(SUM(bytes_used)/1024/1024/1024,0) AS USADO
FROM v$temp_space_header
GROUP BY TABLESPACE_NAME) U, (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/1024/1024/1024,0) AS TAMANO
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) T wHERE u.TABLESPACE_NAME(+)=t.TABLESPACE_NAME)
/



col "Database Size" format a20
col "Free space" format a20
col "Used space" format a20
select    round(sum(used.bytes) / 1024 / 1024 / 1024 ) || ' GB' "Database Size"
,    round(sum(used.bytes) / 1024 / 1024 / 1024 ) -
    round(free.p / 1024 / 1024 / 1024) || ' GB' "Used space"
,    round(free.p / 1024 / 1024 / 1024) || ' GB' "Free space"
from    (select    bytes
    from    v$datafile
    union    all
    select    bytes
    from     v$tempfile
    union     all
    select     bytes
    from     v$log) used
,    (select sum(bytes) as p
    from dba_free_space) free
group by free.p
/

No hay comentarios:

Publicar un comentario