TRABALHANDO COM O DBEXPORT
Existem varias maneiras de extrair dados no INFORMIX as quais você vai encontraremos neste blog , nesta postagem iremos falar sobre o dbexport.
Quando utilizar o dbexport: Quando desejamos extrair uma database por completa (dados e schemas) utilizaremos o dbexport.
Requisitos:
1 - Existir espaço livre na área onde será construído a extração (é recomendado que a área de disco tenha o mesmo espaço do banco da dados , os arquivos poderão ficar um pouco menor que o tamanho do banco mas sempre tenham uama era suficiente para que caiba toda a extração)
2- Usuário Informix ter permissão de gravação no diretório
3- Database sem nenhum lock , o dbexport ira colocar na database um loco exclusivo durante sua execução, caso isso não seja possível será abortado.
O dbexport é um programa nativo do informix e sua utilização é muito simples, requer ser usado por um usuário com direitos administradores e que tenha as variáveis de ambiente da instancia carregadas.
# dbexport (database) (sintax) # com essa simples linha de comando atendendo aos per requisitos acima teremos a database extraída para arquivos texto
Estrutura da saída: Teremos um diretório chamado .exp dentro deste diretório teremos vários arquivos com a extensão .unl que são arquivos correspondentes aos dados das tabelas extraídas, caso a tabela tenha 0 registros existira também o o arquivo.
Teremos também um arquivo chamado .sql que é responsável pela criação dos objetos (tabelas, índex, permissão, views, seqüente, primary key , trigger , procederes, e tudo mais que seja objetos contidos numa database), no final serra executado um update statistics para todas as tabelas criadas.
Interrupções:
Durante a extração do dbexport pode ser interrompido a qualquer momento, caso seja interrompido o dbexport vai pedir confirmação antes de terminar.
Você pode especificar o diretório onde quer que a extração seja gravada (diretório .exp arquivos .unl e arquivos .sal) caso não especifique será gravado no diretório de trabalho atual.
Comentario: O dbexport não tem limitações com tamanho de arquivos porem existem sistemas operacionais que limitam e como podemos ter tabelas consideravelmente grandes isso pode ser um bloqueio, veja sempre com o S.O os parâmetros de unlimit , na versão do INFOMRMIX 7.31 eu tinha muito problemas pois esta versão não criava arquivos maiores que 2GB.
Syntax dos comandos do dbexport :
comando: dbexport (database) (sintax)
Sintaxes: # caso nenhuma sintax seja passada o dbexport será excutado do mono nativo
Finalidades das sintax:
-c: Faz completa exportação ignorando erros que não seja fatal, com este parâmetro só será interrompendo a importação caso aconteça um erro fatal.
-q: Não exibe o log da execução do dbexport .
-ss: Gera junto com a script de extração as informações especificas como inicial extent , nexo extent , informação das fragmentações , locking mode, dbspace da tabela … todas as características de como os objetos estão construídos.
-X: Reconhece dados binários HEX em campos de caracteres
-V: exibe a versão do produto
Observação: O dbexport só termina quando toda a database estiver extraída para arquivo , isso pode levar bastante tempo , tudo depende do tamanho da database e da capacidade do hardware para leitura e escrita e da versão do INFORMIX. Caso seja um ambiente de produção enquanto estiver fazendo o dbexport ninguém mais utiliza o banco de dados. (A capacidade do Hardware principalmente discos e file sistema tem muita influencia sobre esta pratica)