locked
uso do shirink nos arquivos de log RRS feed

  • Pergunta

  • Bom dia,

    Tenho uma duvida, muitos dizem que utilizar o shirink não é bom, mas tenho uma pergunta, criar uma rotina para shirink nos arquivos de log de um banco de dados, seria uma boa pratica ?

    terça-feira, 21 de maio de 2013 13:34

Respostas

  • Adalvitor,

    Como prática...

    O que você poderia fazer é acompanhar durante um tempo (um mês é o bastante já que contemplaria todos os processamentos mensais da empresa) o comportamento dos logs de seus databases afim de definir uma baseline.

    No último dia de análise, anote o tamanho de cada arquivo de log e acrescente a este tamanho, uma sobra de 30%. Esse será o seu baseline.

    Você pode usar esse valor de várias maneiras, como por exemplo, criando alertas quando o tamanho dos logs se aproximar do tamanho definido na baseline, podendo até tomar uma ação, reduzindo-o automaticamente quando ultrapassá-lo.

    Outra sugestão de como utilizá-lo seria, ter uma rotina diária ou semanal para verificar se o log está próximo ou ultrapassou o valor obtido como baseline e tomar uma ação, reduzindo o arquivo ou enviando um alerta ao DBA.

    *** Recomendo que você faça um backup do log antes da operação de shrink ***

    Abçs,
    Juliano


    terça-feira, 21 de maio de 2013 14:46
  • Adalvitor,

    Se ele esta em 10GB foi por que ele precisou crescer para comportar transações OnFly (Acontecendo). Caso ele crescer devido a uma ação pontual, efetue o shrink do arquivo mas não automatize este processo.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    • Marcado como Resposta Adalvitor terça-feira, 21 de maio de 2013 14:44
    terça-feira, 21 de maio de 2013 14:16
    Moderador

Todas as Respostas

  • Adalvitor,

    Alem de causar alguma fragmentação nas estruturas internas denominadas Virtual Log File em seu arquivo o shrink dos arquivos de log é desnecessario.

    Pense assim: Se seu log cresce é por que sua base esta em recovery full, se sua base esta em recovery full é por que voce faz backup de log, se voce faz back de log o log não cresce e o espaço fica sendo reutilizado (Ele cresce até certo ponto para sustentar seu transacional, depois fica ciclico).

    Se seu log cresce e voce não faz backup de log, ele não reutiliza espaço portanto nunca estabiliza, porem se voce não faz backup de log, deixe o recovery model em simple.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    terça-feira, 21 de maio de 2013 13:46
    Moderador
  • Fabrizzio

    Mas hoje eu faço backup de log nesse banco a cada 30 minutos.

    Mas o arquivo de log ta me 10Gb....

    terça-feira, 21 de maio de 2013 14:09
  • Adalvitor,

    Se ele esta em 10GB foi por que ele precisou crescer para comportar transações OnFly (Acontecendo). Caso ele crescer devido a uma ação pontual, efetue o shrink do arquivo mas não automatize este processo.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    • Marcado como Resposta Adalvitor terça-feira, 21 de maio de 2013 14:44
    terça-feira, 21 de maio de 2013 14:16
    Moderador
  • Ok, Fabrizzio

    Entendido, não é uma boa pratica era mais ou menos o que eu pensava, mas precisava de uma opinião de alguém com mais experiencia.

    Obrigado.

    terça-feira, 21 de maio de 2013 14:44
  • Adalvitor,

    Como prática...

    O que você poderia fazer é acompanhar durante um tempo (um mês é o bastante já que contemplaria todos os processamentos mensais da empresa) o comportamento dos logs de seus databases afim de definir uma baseline.

    No último dia de análise, anote o tamanho de cada arquivo de log e acrescente a este tamanho, uma sobra de 30%. Esse será o seu baseline.

    Você pode usar esse valor de várias maneiras, como por exemplo, criando alertas quando o tamanho dos logs se aproximar do tamanho definido na baseline, podendo até tomar uma ação, reduzindo-o automaticamente quando ultrapassá-lo.

    Outra sugestão de como utilizá-lo seria, ter uma rotina diária ou semanal para verificar se o log está próximo ou ultrapassou o valor obtido como baseline e tomar uma ação, reduzindo o arquivo ou enviando um alerta ao DBA.

    *** Recomendo que você faça um backup do log antes da operação de shrink ***

    Abçs,
    Juliano


    terça-feira, 21 de maio de 2013 14:46