Dando continuidade ao nosso DBA de Guerrilha, hoje falaremos um pouco sobre uma tarefa que atualmente é ainda executada manualmente, mas que pode ser executada facilmente através da geração de um script e que pode te ajudar rapidamente em um operação de restauração da base de dados.
Falaremos hoje sobre a operação de restauração chamada de Restore Redirected. Esta operação consiste em restaurar um base de dados em um outro servidor, ou em um outro ambiente ou até mesmo para atualização de bases de homologação.
Acredito que a maioria dos DBAs DB2 já tenham se deparado com pedidos de atualização de bases de homologação, ou criação de um novo ambiente a partir da cópia de um ambiente já existente, pois bem, seus problemas acabaram.
Vamos demonstrar em alguns passos como efetuar a criação do script e como proceder.

Partindo do principio, faremos uma cópia de uma base de dados (Backup) para que possamos dar andamento ao nossos testes.
Para tirarmos um backup offline (sem aplicações conectadas) ou cold backup devemos prosseguir com o seguinte comando:

db2 "backup database SAMPLE"

Após completarmos a operação de cópia da base de dados (Backup), vamos supor que nos foi pedido para seja feito no nosso ambiente de homologação uma atualização utilizando o Backup de produção que acabamos de tirar.
Mãos a obra, vamos então gerar o nosso script que facilitará muito nossa vida. A maioria dos DBAs DB2, devem se recordar que ao fazermos um Restore Redirected precisamos configurar os paths (caminhos fisicos) onde as tablespaces serão alocadas ou Storage Group no caso de utilização de banco de dados em Automatic Storage, também precisamos configurar um novo path para os logs, paralelismo que este Restore terá no momento da execucação, um novo path para o próprio banco de dados (caso o banco de dados não exista), os novos storage paths caso o banco de dados esteja em Automatic Storage e Etc.
Para gerarmos o script de Restore Redirected basta utilizarmos o comando abaixo, lógicamente populando o comando com os dados que vocês possuem.

db2 "restore db SAMPLE from /home/otaviocn/Desktop taken at 20121015215737 redirect generate script restore_sample_redirected.sql"

Ao executarmos o comando acima, um arquivo no formato .sql será criado e poderá ser rodado para a criação do banco no seu novo ambiente. É claro, que devemos atualizar alguns parametros dentro do script para que possamos fazer este Restore Redirected. A função do script é gerar o modelo que você irá utilizar, e assim facilitar a vida.
Estou adicionando ao post, o arquivo gerado ao executar o comando acima na minha máquina, mas estou trocando a extensão pois o blog não aceita arquivo no formato .sql. Para voltar o arquivo no formato .sql basta apenas trocar a extensão .doc para .sql.

restore_sample_redirected_script.sql

Ao editar o arquivo será necessário fornecer valores para alguns ou todos os campos, isso dependerá do seu ambiente, mas de uma forma reduzida alguns campos são necessários, tais como DBPATH, NEWLOGPATH, STOGROUP e etc.
Agora vamos executar o script que criamos, e para isso basta executar o comando abaixo:

db2 -tvf restore_sample_redirected.sql

Percebam que o banco de dados foi restaurado com sucesso e também logo após foi possivel conectar ao banco de dados. Isso foi possivel pois foi feito restore através de um backup offline ou cold backup. Caso fosse utilizado um backup online ou hot backup, poderiamos aplicar os logs até o ponto desejado. Mas sobre restore point in time faremos um outro post.
Galera qualquer dúvida estamos à disposição. Forte abraço e até a proxima.