Recuperar banco de dados

Discussão em 'Banco de Dados / Database' iniciado por carlosrib, Março 26, 2010.

  1. neljr

    neljr Sem Pontuação

    Bem, eu creio que neste caso, é restauração de backup.
    Diga como isso aconteceu ?
    Algum processo de repair errado ?

    Nosso amigo falou do truncate -F.
    Isso é utilizado quando nem mesmo backup você tem, ou se a perda de informação for menor que a do backup.
    O parametro -F ignora qualquer coisa que esteja no arquivo BI.
  2. mcfernandes

    mcfernandes Membro Participativo

    Bom dia!

    A sintaxe do truncate -F é:
    proutil nome-do-banco -C truncate bi -F
  3. pcbarros

    pcbarros Sem Pontuação

    Pessoal,

    Tem um procedimento que no meu caso funcionou perfeitamente, segue para sua análise:

    Antes de tudo, faça um backup deste banco de dados.

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Primeiro passo:
    Desvincule o B1 dos demais arquivos do banco de dados com a seguinte linha de comando:

    prostrct unlock banco

    Obs.: Este comando é utilizado para sincronizar os arquivos de banco de dados com o menor risco de ser corrompido

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Segundo passo:
    Trunque o B1 do banco utilizando parâmetro -F para que todos os índices sejam transferidos para o DB com a seguinte linha de comando:

    proutil banco -C truncate bi -F

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Terceiro passo:
    Indexe o banco utilizando o script abaixo:

    echo "inicio"
    date
    cd /disco6 (área onde será indexado, mínimo 75% do tamanho do banco)
    DLC=/disco1/dlc101b (localização do progress)
    export DLC
    PATH=$PATH:/disco8/dlc101b
    banco=/disco8/finan/finan.db
    export banco
    /disco1/dlc101b/bin/proshut $banco -by
    $DLC/bin/proutil $banco -TB 31 -TM 15 -C idxbuild all > /disco8/finan/finan.idx
    echo "fim"
    date
    time

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------

    Obs.: O recomendável é que seja feito um dump & load do banco, porém os procedimentos utilizados acima deram resultados positivos.

    A partir deste ponto, se tudo correu bem, falta somente colocar o banco no ar.

    Abraço

    Paulo Barros
    Santher - Fabrica de Papel Santa Therezinha S.A
  4. kirchner

    kirchner Membro Participativo Moderador

    Sempre lembrando, o que o -F faz é literalmente jogar fora todo o conteúdo do BI.
    Truncate com -F é do mal, e entre outros, tem uma justificativa da Progress neste KB: P24330.

    Basicamente, as gravações no BI são as operações mais custosas para o banco de dados, e se ele não fosse importante certamente não estaria ali.
  5. mauricio.oliveira

    mauricio.oliveira Sem Pontuação

    Vocês salvaram minha vida hoje com essas informações.

    Muito obrigado mesmo!
    Maurício.

Compartilhe esta Página