› Fóruns › Banco de dados Oracle › Script para listar tamanho de objetos para todo DB › Script para listar tamanho de objetos para todo DB
Opa, este select aqui é infalível…, sempre me ajuda.
No caso da variável eu utilizo 128 como padrão.
select segment_name,
decode(trunc(bytes/1024), 0, to_char(bytes, '9G990'),
decode(trunc(bytes/1024/1024), 0, to_char(bytes/1024, '9G990D99') || 'K',
decode(trunc(bytes/1024/1024/1204),
0, to_char(bytes/1024/1024, '9G990D99') || 'M',
to_char(bytes/1024/1024/1024, '9G990D99') || 'G'))) tamanho,
decode(trunc(bytes/&v_tam_extent_base/1024/505),
0, 'P = &v_tam_extent_base.K * ',
decode(trunc(bytes/(&v_tam_extent_base/32)/1024/1024/505),
0, 'M = ' || &v_tam_extent_base/32 || 'M * ',
'G = &v_tam_extent_base.M * ')) categoria,
decode(trunc(bytes/&v_tam_extent_base/1024/505),
0, ceil(bytes/&v_tam_extent_base/1024),
decode(trunc(bytes/(&v_tam_extent_base/32)/1024/1024/505),
0, ceil(bytes/(&v_tam_extent_base/32)/1024/1024),
ceil(bytes/&v_tam_extent_base/1024/1024))) extents
from user_segments
where segment_type = 'TABLE'
order by bytes desc