ChannelDB2

Olá, tenho três bancos de dados no meu sistema, um deles eu uso para produção diária, os outros dois uso pra testes das atualizações do ERP, do banco de dados da produção eu tenho um backup diário que é feito com o comando abaixo:
CONNECT TO 'NOME_DO_BANCO';
QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;
CONNECT RESET;
backup database 'nome_do_banco' to f:\Backup\base;
connect to 'nome_do_banco';
UNQUIESCE DATABASE;
CONNECT RESET;

Como eu faço para restaurar essa cópia dentro de um dos bancos de dados de testes que eu uso?

SO: WINDOWS SERVER 2003

Reply to This

Replies to This Discussion

Oi Poliester,

Esta operacao de restore do backup vindo de um ambiente para um outro, eh uma coisa muito comum, hoje mesmo eu restarei uma copia de producao num ambiente que chamamos de STAGING usando um script que execute um "redirect restore".
Vamos por parte entao.
Uma vez que vc tem este backup vc precisa saber quais sao os tablespace containers deste backup que vc tirou de producao, porque na maioria das vezes os containers (path) e sizes nao sao os mesmos em outro ambiente. Entao faca assim: Execute em producao o seguinte comando:

db2 "restore from f:\Backup\base taken at into with 4 buffers buffer 1074 redirect generate script
NAO se assuste isso nao ira mexer no seu corrente database apesar da mensagem "DB20000I The RESTORE DATABASE command completed successfuly"

Isso porque DB2 usou o corrente arquivo pra gerar um script de restore.
Bem agora voce pode adaptar este script file pro seu ambiente de testes depois de mover este arquivo de backup pro diretorio apropriado. Veja se ha espaco suficiente para a alocacao dos containers (vc pode diminuir se for o caso) e mude o path dos files.

Uma vez que pelo comando acima voce excutou um backup offline, vc nao precisa se preocupar com rollforward logs depois do restore.

Me diga se voce entendeu, caso contrario eh so me comunicar.
Um abraco

Ronaldo Marzullo
IBM Certified Database Administrator
DB2 9 Advanced DBA for Linux, Unix and Windows

Reply to This

Dentro de F:\Backup\base eu tenho backup's de pelo menos três dias atrás. Cada um dá 12GB, antes de rodar o comando acima, não seria necessário, por exemplo, setar o caminho completo de onde está umd os backup's?

Reply to This

nao eh preciso, se voce setar como esta acima f:\Backup\base (e dentro deste caminho voce tem mais de um arquivo de backup) DB2 sabera baseado no nome do banco de dados e do timestamp qual o arquivo usar.
Faca um teste com um existente num ambiente de testes se voce se sente mais seguro.

Dentro do arquivo de backup ha varias informacoes, como o nome do banco de dados, timestamp que o backup foi executado, se contem logs ou nao, se foi offline ou online,qual o programa de compressao usado, etc).
geralmente qdo se executa um backup, vem como resposta um timestamp, mas se voce olhar num arquivo de backup ele se parace assim:

ROSDB.0.s_flnpr.NODE0000.CATN0000.20090817162725.001

O timestamp (que vc deve rinformar no comando de restore) eh 20090817162725.

Reply to This

Ok, vou pegar o último backup, fazer uma cópia dele em outra pasta e prosseguirei conforme você me orientou!!
Quando estiver terminado posto aqui os resultados. :)
Confesso que estou meio inseguro, mas é preciso resolver e assim o farei!! (rsrs)

Reply to This

Poliester,

Ja que voce esta inseguro, faca assim pegue um backup (online ou offline) num ambiente de testes e execute o comando que te indiquei, isso servira pra voce ver como o DB2 gerara o script de restore redirect. Uma vez que vc se familiarizou com o utilitario, vc executa o mesmo no ambiente de producao para extrair exatamente todas as informacoes de tablespace containers etc. Ai voce leva este script + o backup de procucao pra o ambiente que vc quer restaurar e depois de ajustar o scrtipt pra o devido ambiente voce o executa.
Se voce tiver qualquer duvida me fale e eu te ajudo.
Um abraco

Reply to This

Ok, fazendo testes em ambiente próprio pra testes!!!
Assim q tiver terminado te aviso!! :)

Reply to This

Ao executar o comando, aparece algo na tela, não sei bem se é um erro!!
Segue anexada a tela printada!!
Attachments:

Reply to This

Poliester,

Vendo o screenshot da sua tela percebo que o que falhou foi que voce nao forneceu todos os parametros necessarios.
O exemplo abaixo dara a voce uma idea do que voce dever escrever.
db2 "restore db from f:\Backup\base taken at into with 4 buffers buffer 1074 redirect generate script .

Tente agora e me diga se funcionou.
Um abraco

Reply to This

RSS

Featured Downloads

New: Download DB2 9.7
Windows | Linux | Mac OS

Download FREE Database: DB2 Express-C

FREE Book: Getting started with DB2

DB2 on the Cloud

© 2010   Created by channeldb2 on Ning.   Create a Ning Network!

Badges  |  Report an Issue  |  Privacy  |  Terms of Service