Usando Comando >prostrct unlock

Discussão em 'Banco de Dados / Database' iniciado por andreluisbrandao, Junho 28, 2011.

  1. andreluisbrandao

    andreluisbrandao Membro Participativo

    Senhores,

    Como usar o comando >prostrct unlock <banco> , dentro de um script sem precisar ficar dando Yes sempre... qual o paramentro q utilizo.

    Preciso fazer uma manutenção em meus bancos e vou usar o seguinte script:

    prostrct unlock <banco> (preciso usar o paramentro com yes sempre)
    proutil <banco> -C truncate bi -F
    proshut <banco> (qual o parametro que uso para derrubar o banco ??)
    proutil <banco> -C idxbuild all

    Preciso de orientação, saber se meu script esta correto, quero fazer isso uma vez por mês por exemplo. É valido? ha algo errado ?

    Obrigado.
  2. giandalfovo

    giandalfovo Membro Participativo

    Qual o objetivo desta manutenção, é algum banco que está parado e não inicia mais?

    Pergunto isso porque os comandos prostrct unlock e o truncate com o parâmetro -F somente são utilizados em procedimentos de recuperação de um banco de dados, onde o backup do mesmo não está mais disponível para restore e não há nenhum outra opção.

    O comando prostrct unlock somente é usado se há algum problema de sincronia de datas nos arquivos do banco, onde a data do arquivo de controle do banco é diferente da data do arquivo de dados por exemplo. Neste caso você executa o comando para o progress descartar esta validação, porém VOCÊ está assumindo os riscos de utilizar os arquivos da forma que estão.

    O truncate do bi com a opção -F também, ele vai descartar toda que qualquer transação que não estava finalizada no banco, jogando literalemnte o arquivo de bi fora. Pode causar problemas na integridade dos resgitros que estavam sendo alterados.

    Parar o banco, truncar o bi SEM o -F ou até mesmo reindexar o banco de vez enquanto é saudável, é recomendado fazer.
    Mas tome muito cuidado com o que vai ser executado.

    Voltando a pergunta :), para derrubar o banco sem interação inclua o parâmetro -by no proshut:
    proshut <banco> -by

    Para passar uma confirmação para um comando qualquer no prompt, uma opção é usar antes o comando echo com o valor que você quer, inserir um pipe e em seguida o comando:
    echo Y|prostrct unlock nomedobanco
  3. andreluisbrandao

    andreluisbrandao Membro Participativo

    Neste caso, apos um BACKUP posso executar o seguinte script ????

    proshut <banco> -by
    proutil <banco> -C truncate bi
    proutil <banco> -C idxbuild all

    Outra pergunta:

    Estou com um dos meus bancos com mais de 2.5 GB, gostaria de saber como faço para particina-lo e trabalhar normalmente??/

    Obrigado.
  4. giandalfovo

    giandalfovo Membro Participativo

    O truncate bi pode executar

    O idxbuild não há necessidade a cada backup, pode ser esporadicamente.
    Este procedimento dependendo do tamanho do banco leva horas, pois ele reconstrói todas as entradas de índices do banco.

    O tamanho total do banco é 2,5GB ou de algum arquivo de dados (.d1 por exemplo).

Compartilhe esta Página