Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 7 anos, 2 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #108859
    Avatar de AlbertoAlberto
    Participante

      Caros colegas DBA’s, estou com uma dúvida: meu banco está sempre com o TEMPFILE no limite dos 32 Gb. Isso é prejudicial ao desempenho do banco? Ou é normal? Não vejo erros nas aplicações. Mas sempre que eu crio um novo arquivo e excluo o anterior, rapidamente cresce para os 32 Gb. Existe alguma forma desse arquivo “sofrer uma limpeza” de tempos em tempos, ou só dropando e criando um novo?

      #108860
      Avatar photoJosé Laurindo Chiappa
      Moderador

        Sim, é algo absolutamente normal : https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:34014729642755 tem várias demonstrações e provas sobre o Conceito, e a questão é que, para melhor performance, depois que o banco deixa de precisar do que estava gravada num tempfile ao invés de ter o esforço de apagar a informação e diminuir o tempfile, o RDBMS simplesmente faz uma ‘marca’ num ‘flag interno’ do tempfile dizendo que aquela informação não é mais necessária e acabou, as próximas sessões simplesmente vão gravar seus dados por cima dos dados desnecessários que já estavam em disco….
        Se vc pensar a respeito faz sentido : já pensou na quantidade de I/O em disco que o RDBMS teria que fazer para remover os 32 Gigabytes do tempfile pra daqui a pouco vir outra sessão e gravar mais dados, fazendo o tempfile crescer de novo, pra depois ter que ser diminuído de novo ?? Não faz sentido isso, né não ???
        Caso vc não saiba ainda , vc pode acompanhar quais pedaços do datafile estão marcados como ainda em uso através de views do sistema, como V$SORT_USAGE e similares…

        []s

        Chiappa
        

        OBS : até um ponto, vc vai ver que esse conceito de não ficar aumentando/diminuindo arquivos em disco cfrme são usados/liberados acontece também com DATAFILES comuns – experimente criar numa tablespace qquer um datafile (com o tipo comum, não-extensível e não gerenciado pelo sistema) de, digamos, 100 Megabytes e vc vai ver que mesmo sem dados em disco ele vai ocupar 100 megabytes em disco, aí se vc gravar, digamos, 10 Megabytes de dados nesse datafile ele *** Não Vai ** encolher para 10 Megabytes em disco, POUPANDO o sistema de ter o imenso trabalho de reduzir via um montão de I/Os o datafile : dos 100 MB em disco, 10 vão estar preenchidos com dados e os outros 90 com ‘zeros/nulos’, disponíveis para serem re-escritos com dados reais a qquer hora….

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