Neste artigo irei mostrar um script que mostra o tamanho da base de dados em uma instância do Oracle.
O script retorna os seguintes campos: Data, Undo, Redo, Temp, Livre e Total. Para entendimento de alguns campos retornados no script, segue alguns links para melhor entendimento do significado e a importância de cada um:
– Arquivos de Data (Datafiles, tablespaces);
– Undo;
– Redo;
– Temp.
Script:
SET FEED OFF prompt prompt TAMANHO DO BANCO DE DADOS EM MB prompt =============================== col dados for a10 col undo for a12 col redo for a12 col temp for a12 col livre for a12 col total for a12 select to_char(sum(dados) / 1048576, 'fm99g999g990') dados, to_char(sum(undo) / 1048576, 'fm99g999g990') undo, to_char(sum(redo) / 1048576, 'fm99g999g990') redo, to_char(sum(temp) / 1048576, 'fm99g999g990') temp, to_char(sum(free) / 1048576, 'fm99g999g990') livre, to_char(sum(dados + undo + redo + temp) / 1048576, 'fm99g999g990') total from ( select sum(decode(substr(t.contents, 1, 1), 'P', bytes, 0)) dados, sum(decode(substr(t.contents, 1, 1), 'U', bytes, 0)) undo, 0 redo, 0 temp, 0 free from dba_data_files f, dba_tablespaces t where f.tablespace_name = t.tablespace_name union all select 0 dados, 0 undo, 0 redo, sum(bytes) temp, 0 free from dba_temp_files f, dba_tablespaces t where f.tablespace_name = t.tablespace_name(+) union all select 0 dados, 0 undo, sum(bytes * members) redo, 0 temp, 0 free from v$log union all select 0 dados, 0 undo, 0 redo, 0 temp, sum(bytes) free from dba_free_space f, dba_tablespaces t where f.tablespace_name = t.tablespace_name and substr(t.contents, 1, 1) = 'P' ); prompt SET FEED ON