Utilize os utilitários PROBKUP e PROREST como referência para copiar bancos

Escrito por Roberta Fávero em 7 de novembro de 2008, 10:25h

A forma mais usual para copiar um banco de um diretório para outro se faz por comandos do sistema operacional (copy, cp, cpio, tar), porém este não é um método aconselhável. Recomenda-se a utilização do PROBKUP, que além de ser um utilitário nativo do Progress, executa a tarefa de forma segura e eficaz.

Com este utilitário temos as seguintes opções de backup:

• Online: Indica que o backup será realizado com o banco ativo.
• Offline: O backup offline é executado com o banco inativo.
• Full: Realiza o backup completo do banco, incluindo os arquivos de Before-Image (.bi).
• Incremental: São gravados apenas os blocos que sofreram alteração desde o último backup (Full ou Incremental). É obrigatório a realização de um backup Full antes de efetuar o primeiro Incremental.

Destaques do utilitário:
 
• Copia automaticamente todos os arquivos necessários (.db, .bn, .dn) independente de onde estejam, mesmo que em discos ou file systems diferentes.
• Permite que usuários acessem o banco durante um backup online. Nesta opção é necessária a implementação de After-Image, já que o retorno deste backup precisa ser consistente quando consideramos a utilização de mais de um banco pelo produto.
• Automaticamente registra no banco que o backup foi realizado. Este status pode ser consultado pelo utilitário Promon, digitando R&D, opção 1 - Status Displays..., opção 2 - Backup.
• Possibilidade de backups incrementais, copiando somente o que foi alterado de um dia para o outro. Esta é a vantagem quando se tem um grande volume de alterações.
• O PROBKUP copia apenas os blocos utilizados do banco. Blocos vazios não são copiados. 
 
Sua utilização se faz por linha de comando como segue abaixo:
 
probkup [online] <nome-bd> [incremental] <diretório-destino><nome-bd.bkp> [-estimate] [-vs n] [-bf n] [-verbose] [-scan] [-io i]  [-com] [-red i] [-norecover]
 
Onde:
-estimate: Permite estimar a quantidade de mídia necessária para o backup. Utilizado somente para backup offline.
-vs: Indica o número de blocos que podem ser gravados em cada volume de backup.
-bf: Melhora a velocidade de transferência de blocos de PROBKUP para dispositivos de fita.
-verbose: Direciona o PROBKUP a apresentar a mensagem “Backed up n blocks in hh:mm:ss” a cada 10 segundos.
-scan: Mostra a quantidade de blocos de PROBKUP que serão gravados e a quantidade de mídia que será necessária. Não é utilizado em backup online.
-io:  Define a quantidade de backups incrementais que serão sobrepostos no backup atual.
-com: Comprime os dados do backup antes de gravá-los no destino indicado.
-red: Cria redundância dos blocos que estão sendo gravados, para recuperar todas as informações caso haja problemas em algum bloco da mídia.
-norecover: Evita crash-recovery (truncagem do BI) antes de iniciar o backup do banco. Por padrão, o backup offline já faz a truncagem do BI. Esta opção não é válida para o backup online, pois não é possível truncar o BI enquanto o banco de dados está ativo.

Exemplo:
%DLC%\bin\probkup sports c:\bancos\sports.bkp

Quando realizado um backup com o PROBKUP, deve-se utilizar o utilitário PROREST do Progress para restaurar o banco. 

Sua utilização também se faz por linha de comando como segue abaixo:

prorest <diretório-destino><nome-bd> <nome-bd.bkp> [-list] [-vp] [-vf] 

Onde:
-list: Gera a descrição da estrutura do banco quando foi realizado backup.
-vp: Faz a leitura do bloco de backup, calcula o CRC e compara com o bloco do banco.
-vf: Faz a comparação do backup, bloco a bloco, com os blocos do banco. 

Exemplo:
%DLC%\bin\prorest c:\banco\teste\sports c:\bancos\sports.bkp

Além da utilização do PROBKUP, recomendamos também o After-Image, pois o retorno de um backup recria o banco na mesma situação em que ele estava quando foi salvo. O After-Image salva transações para reaplicação sobre o backup retornado.

Como referência para estes assuntos, recomendamos o manual da Progress "OpenEdge Data Management: Database Administration".

 

Categorias: Banco de dados | Progress

Tags: , , ,

Comentários (9) -

em 11 de novembro de 2008, 11:17h

Roberto, bom dia! Este post era o que eu estava procurando.

Consegui realizar o backup online e full e utilizei apenas os parametros de com e red. Veja abaixo:

set DLC=c:\dlc10
call c:\dlc10\bin\probkup online c:\datasul\bancos\ems2\ems2cad E:\backup\ems2cad -verbose -com -red 5

Você tem alguma sugestão de melhoria para o comando acima?

Outra coisa, agora eu gostaria de restaurar este backup mas em outra máquina, que não seja o Servidor, para ter certeza que este backup esta ok. Eu então instalei na minha máquina os seguintes programas

OE Enterprise RDBMS      
OE App Svr Ent          
Client Networking        

E coloquei o arquivo ems2cad no C:\ para facilitar e executei o seguinte comando

C:\Progress\OpenEdge\bin>prorest BD_teste c:\ems2cad

Como você pode perceber eu entrei direto no diretório onde contém o prorest, mas não consigo restaurar exibe a seguinte mensagem "de foi inesperado neste momento"

Agradeço a atençao de todos os colaboradores deste Blog, que para mim tem sido muito importante.. Obrigada!!

Thalita Ap. Cunha

em 11 de novembro de 2008, 11:24h

Roberta, eu de novo!!!

Eu fui tentar de outra maneira e acho que consegui, veja o comando abaixo.

C:\Progress\OpenEdge\bin>prorest.bat c:\Datasul\Bdteste c:\hcm210

Observe que agora eu coloquei no parametro de <diretório-destino><nome-bd> o caminho e nome do BD novo  da forma que você orientou, obrigada mais uma vez!

Thalita Ap. Cunha

em 11 de novembro de 2008, 16:46h

Roberta

Eu fiquei agora curiosa como fazer uma After Image, você poderia exemplificar? Além disto eu gostaria de fazer comandos sql no Bd do HCM, através de qual ferramenta me permite isto?

Obrigada!

Thalita Ap. Cunha

em 11 de novembro de 2008, 17:23h

Thalita,

Em breve estaremos postando mais informações sobre a utilização do After-Image.

Caso queira implantar imediatamente este recurso em sua empresa, aconselho um contato com a consultoria telefônica de Tecnologia (47) 2101-7444 ou (11) 2101-1102, para que possamos lhe auxiliar neste processo.

Além disso, há também o manual da Progress "OpenEdge Data Management:
Database Administration", onde é possível encontrar mais informações referente este assunto.

Atenciosamente,
Roberta Fávero Oliveira

roberta

em 12 de novembro de 2008, 17:25h

Boa tarde a todos!
Alguém já implementou o backup online usando o comando proquiet?

Fabiano Girard Palma

em 21 de janeiro de 2009, 09:42h

Fabiano, publiquei uma série de artigos para atender à sua dúvida. Confire se essas informações poderão ajudá-lo.

Como montar uma estratégia de backup?
ingleses.datasul.com.br/.../...egia-de-backup.aspx

Soluções para backup online de bancos de dados Progress
ingleses.datasul.com.br/.../post.aspx

Orquestrando o after-image
ingleses.datasul.com.br/.../post.aspx

adriano

em 12 de julho de 2010, 15:57h

Olá Boa Tarde!
Estou tentando fazer uma cópia do meus aqrquivos em produção, porém, quando eu executo o db, ele copia, porém ao abrir diz que é uma cópia e indica o diretório anterior.Abaixo segue o código, tem alguma solução mais eficiente e que funcione pra mim? Obrigada!!!
copy F:\CSHG\ERP\EMS2\database\shems204*.d* F:\CSHG\ERP\EMS2\database\teste /y
copy F:\CSHG\ERP\EMS5\database\shems505*.d* F:\CSHG\ERP\EMS5\database\teste /y
copy F:\CSHG\ERP\EMS2\database\shems2sop*.d* F:\CSHG\ERP\EMS2\database\teste /y
copy F:\CSHG\ERP\EMS2\database\shems2sor*.d* F:\CSHG\ERP\EMS2\database\teste /y
copy F:\CSHG\ERP\EMS2\database\shems204*.b* F:\CSHG\ERP\EMS2\database\teste /y
copy F:\CSHG\ERP\EMS5\database\shems505*.b* F:\CSHG\ERP\EMS5\database\teste /y
copy F:\CSHG\ERP\EMS2\database\shems2sop*.b* F:\CSHG\ERP\EMS2\database\teste /y
copy F:\CSHG\ERP\EMS2\database\shems2sor*.b* F:\CSHG\ERP\EMS2\database\teste /y
copy F:\CSHG\ERP\hcm209\database\shhcm209.d* F:\CSHG\ERP\hcm209\database\teste /y
copy F:\CSHG\ERP\hcm209\database\shhcm209.b* F:\CSHG\ERP\hcm209\database\teste /y
call F:\CSHG\ERP\dlc10\bin\prostrct repair F:\CSHG\ERP\EMS2\database\teste\shems204 F:\CSHG\ERP\EMS2\database\teste\shems204.st
call F:\CSHG\ERP\dlc10\bin\prostrct repair F:\CSHG\ERP\EMS2\database\teste\shems2sop F:\CSHG\ERP\EMS2\database\teste\shems2sop.st
call F:\CSHG\ERP\\dlc10\bin\prostrct repair
F:\CSHG\ERP\EMS2\database\teste\shems2sor F:\CSHG\ERP\EMS2\database\teste\shems2sor.st
call F:\CSHG\ERP\\dlc10\bin\prostrct repair F:\CSHG\ERP\EMS5\database\teste\shems505 F:\CSHG\ERP\EMS5\database\teste\shems505.st
call F:\CSHG\ERP\\dlc10\bin\prostrct repair F:\CSHG\ERP\hcm209\database\teste\shhcm209 F:\CSHG\ERP\hcm209\database\teste\shhcm209.st

Juliana

em 12 de julho de 2010, 17:54h

Boa tarde Juliana
Uma forma eficiente de realizar a cópia de bancos progress, é utilizar o comando procopy.
No post abaixo existem informações sobre o procedimento:
ingleses.datasul.com.br/.../...-com-o-PROCOPY.aspx

Ou utilize os comandos descritos neste post, realizando um backup do banco (probkup) e restaurando este backup no seu ambiente destino (prorest).

gian

em 31 de agosto de 2011, 14:59h

oi juliana fiz assim o meu de backup


echo Copia Banco EMS2

call c:\totvs\bancos\scripts\ems2\P_derruba_oficial.bat

call c:\totvs\bancos\scripts\ems2\P_derruba_oficial.bat
xcopy /E /Y c:\totvs\bancos\ems2\producao\* c:\totvs\backups\ems2\producao

echo Backup Banco EMS2

call C:\Progress\OpenEdge\bin\probkup "c:\totvs\Bancos\ems2\Producao\ems2cad" c:\totvs\backups\ems2\ems2cad.bkp
call C:\Progress\OpenEdge\bin\probkup "c:\totvs\Bancos\ems2\Producao\ems2esp" c:\totvs\backups\ems2\ems2esp.bkp
call C:\Progress\OpenEdge\bin\probkup "c:\totvs\Bancos\ems2\Producao\ems2mov" c:\totvs\backups\ems2\ems2mov.bkp

echo.

call c:\totvs\bancos\scripts\ems2\P_carrega_oficial.bat

ademir

Comentar




biuquote
  • Comentário
  • Pré-visualização
Loading


Acesso LogMeIn

Informe o código PIN: