none
Duvida com TEMPDB RRS feed

  • Pergunta

  • Olá,

     

    Meu DBM Veio me perguntar uma coisa que não soube responder, aqui em nossa TEMPDB possuimos varios datafiles, atualmente no mesmo disco e pasta, se eu crio por exemplo uma tabela temporaria com 20GB e eu possui 5 datafiles de 10GB, como isso sera tratado? a tabela sera dividida caso o datafile não possa ou não consiga mais crescer?


    ------------------------------------------------------------- Oracle OCA11g
    quinta-feira, 3 de março de 2011 14:47
    Moderador

Respostas

Todas as Respostas

  • Fabrizzio,

    O SQL Server contem um algoritmo de distribuição de dados proporcional. Se todos os datafiles, tiverem o mesmo tamanho, o mesmo autogrowth, ele distribuirá a quantidade de dados alocados igualmente, de forma geral.Caso algum desses seja diferente, a distribuição será feita de outra forma.

    Cuidado na quantidade de datafiles criados na TEMPDB.

    []'s!

     

     


    http://www.diaadiasql.com.br
    quinta-feira, 3 de março de 2011 17:03
  • Renato,

     

    Eles estão com Initial size diferentes, isso interfirira nisso fazendo uma temp table ser criada apenas em um datafile por exemplo?


    ------------------------------------------------------------- Oracle OCA11g
    quinta-feira, 3 de março de 2011 17:08
    Moderador
  • Não.O que aconteceria seria isso:

     

    exemplo:

    file A - 10 GB - tamanho inicial.

    file B - 1 GB - tamanho inicial.

    A distribuição seria mais ou menos assim, a principio, 90% e 10%.

    Outra coisa legal, é "setar" o inicial size para um tamanho razoavel.

     

    []'s!


    http://www.diaadiasql.com.br
    quinta-feira, 3 de março de 2011 17:19
  • Renato, desculpe, ainda não ficou muito claro, eu tenho os meus datafiles em inital sizes diferentes, se eu criar uma tabela que caberia em 2 datafile, porem não em apenas 1, ele destribui essa tabela entre os datafiles correto?
    ------------------------------------------------------------- Oracle OCA11g
    quinta-feira, 3 de março de 2011 17:27
    Moderador
  • A forma de escrita em datafiles é diferente de arquivos de logs.

    Da forma que vc esta falando, é o comportamento dos arquivos de log. Independente de quantos arquivos de log vc tem, ele sempre vai usar sempre o primeiro, quando não tiver mais espaço vai para o segundo e assim por diante.

     

    Nos datafiles, no momento que ele vai escrever, ele ja divide a carga, a divisão é de forma proporcional. Então, sempre "todos" os arquivos "vão ser usados", sendo de forma proporcional.


    http://www.diaadiasql.com.br
    quinta-feira, 3 de março de 2011 17:31
  • Esse tipo de comportamento, se aplica em todos os databases, inclusive na tempdb.

     


    http://www.diaadiasql.com.br
    quinta-feira, 3 de março de 2011 17:32
  • A ta perfeito, é que pensei que pelo fato de nao poder conter filegroups em tabelas de sistema, ele iria tratar de uma forma diferente.....

    A unica diferença então é que voce em bases nao de sistema, voce consegue "restringir" pelos filegroups onde voce quer que por exemplo sua tabela va, entendi, Vlw Renato!


    ------------------------------------------------------------- Oracle OCA11g
    quinta-feira, 3 de março de 2011 17:36
    Moderador