O db2look é uma ferramenta que gera a DDL (Data Definition Language) dos objetos de um database, sendo útil para a duplicação do ambiente de produção para homologação ou teste.

O db2look também pode gerar comandos UPDATE para replicação de estatísticas, para replicação de variáveis ambiente (db2set) e para replicação de configurações do database e database manager (update dbm cfg e update db cfg).

Para exemplificar, a ideia é:

a) Gerar um script dos objetos do database chamado sample;

b) Criar um database com automatic storage e com bufferpool default de 8k na mesma instância chamado sample2;

c) Executar este script contra este novo database criado.

a) O comando db2 list db directory informa quais os databases criados/catalogados na instância “atachada”

 

Geração do Script. Os parâmetros do db2look citados:

-d : nome do database

-e : extrai ddl para duplicação do database

-o : informa o output do comando, no caso sample.ddl

-l : informa database layout

-xd :  gera autorizações para os objetos incluindo o original criador do objeto

-i : usuário que irá logar no database, com as devidas autorizações para gerar a ddl

-w: senha do usuário que irá logar

O arquivo sample.ddl vai ter esta cara:

Comente a cláusula CONNECT TO SAMPLE USER DB2ADMIN com “- -” (traço, traço). A conexão ao database (sample2) destino será feita diretamente no command window.

 b) Criação do database sample2 com automatic storage (que é o default para a versão 9.7 do DB2) e com o ibmdefaultbp (bufferpool) com tamanho de 8192 (8k). Houve a necessidade de criar o database com estas especificações em virtude de algumas tablespaces terem o pagesize de 8k e serem gerenciadas pelo automatic storage.

 

c) Conectar ao sample2 e executar o script para criação dos objetos do sample

 

Os parâmetros do db2 command options para a execução do script sample.ddl citados foram:

-t : define que existe um caractere como delimitador de instrução. Default é o ‘;’

-v: mostra no arquivo de saída qual o comando foi executado, muito útil na hora de debugar.

-f: informa que o script será lido de um arquivo passado na instrução

 > sample.out : direciona o resultado dos comandos para o arquivo sample.out

O arquivo de saída vai ter esta cara, se os objetos forem criados com sucesso.

Saiba mais em:

 att,