- Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 19 anos atrás por Marcio68Almeida.
-
AutorPosts
-
22 de dezembro de 2005 às 11:52 pm #74949Anônimo
Como calcular o tamanho j? utilizado em uma tablespace?
Ex: Ap?s o select
select * from DBA_DATA_FILES
where tablespace_name like ‘TS_%_%_%%12_D%’
Obtenho os seguintes dados:Nome da Tablespace
bytes 52428800
blocks 6400
status AVAILABLE
relative fno 27
autoextensible NO
maxbytes 0
maxblocks 0
incrementby 0
userbytes 52363264
userblocks 6392Para saber quanto ainda possuo livre nesta tablespace ? s? subtrair o valor de bytes menos o valor de userbytes?
Ou o valor inicial dos blocks menos o userblocks, neste caso como converter esse valor para bytes ou megas?
Estou tentando evitar que a tablespace ‘estoure’.
N?o posso configurar para que se autoextenda.
Obrigado desde j26 de dezembro de 2005 às 3:15 pm #74954Marcio68AlmeidaParticipanteTenta este c?digo…
Select tblspc, TO_CHAR (SUM (alocado) /1048576, '999,999,999.9999') "Alocado (MB)",
TO_CHAR (SUM (usado) / 1048576, '999,999,999.9999') "Usado (MB)",
TO_CHAR ((SUM (alocado) - SUM (usado)) / 1048576, '999,999,999.9999') "Livre (MB)",
TO_CHAR ((SUM (usado) / 0.7) / 1048576, '999,999,999.9999') "Ideal (MB)",
TO_CHAR ((SUM (usado) / DECODE (SUM (alocado), 0, 1, SUM (alocado))) * 100, '999.9999') "Percent"
From
(
Select tablespace_name tblspc, SUM (bytes) alocado, 0 usado
From dba_data_files
Where tablespace_name not like '%RBS%'
and tablespace_name not like '%RLBK%'
and tablespace_name not like '%ROLL%'
and tablespace_name not like '%SYS%'
and tablespace_name not like '%TEMP%'
and tablespace_name not like '%TMP%'
Group by tablespace_name
Union
Select tablespace_name tblspc, 0 alocado, SUM (bytes) usado
From dba_segments
Where tablespace_name not like '%RBS%'
and tablespace_name not like '%RLBK%'
and tablespace_name not like '%ROLL%'
and tablespace_name not like '%SYS%'
and tablespace_name not like '%TEMP%'
and tablespace_name not like '%TMP%'
Group by tablespace_name
)
Group by tblspc
Having (SUM (usado) / DECODE (SUM (alocado), 0, 1, SUM (alocado))) * 100 = 1
and (SUM (alocado) - SUM (usado)) / 1048576 >= 20
and (SUM (alocado) /1048576) > 60
Order by "Percent" desc
;
10 de janeiro de 2006 às 3:12 am #75026TcheloParticipanteVixe que tamanho de script …..
Assim ? mais facil ….
select a.TABLESPACE_NAME,
a.BYTES bytes_used,
b.BYTES bytes_free,
b.largest,
round(((a.BYTES-b.BYTES)/a.BYTES)*100,2) percent_used
from
(
select TABLESPACE_NAME,
sum(BYTES) BYTES
from dba_data_files
group by TABLESPACE_NAME
)
a,
(
select TABLESPACE_NAME,
sum(BYTES) BYTES ,
max(BYTES) largest
from dba_free_space
group by TABLESPACE_NAME
)
b
where a.TABLESPACE_NAME=b.TABLESPACE_NAME
order by ((a.BYTES-b.BYTES)/a.BYTES) descAtt,
Tchelo – MCPDBA – OCP10 de janeiro de 2006 às 2:21 pm #75029Marcio68AlmeidaParticipanteO meu script tem esse tamanho justamente para mostrar apenas o que considero importante, onde realmetne h? necessidade de atua??o.
Al?m, ? claro, da formata??o, que facilita em muito a visualiza??o.
? claro que fica sempre aberto a altera??es e melhorias… -
AutorPosts
- Você deve fazer login para responder a este tópico.