Pular para o conteúdo
  • Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 19 anos atrás por Marcio68Almeida.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #74949
    Anô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 6392

      Para 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 j

      #74954
      Marcio68Almeida
      Participante

        Tenta 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
        ;

        #75026
        Tchelo
        Participante

          Vixe 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) desc

          Att,
          Tchelo – MCPDBA – OCP

          #75029
          Marcio68Almeida
          Participante

            O 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…

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.
          plugins premium WordPress