MigraTI - Soluções em banco de dados

quarta-feira, 3 de junho de 2009

Lendo arquivos em Memória

Esta dica é bem útil para efetuar export/import de um banco de dados.

Digamos que você esteja enfrentando problemas de espaço em disco, você tem míseros 10G de espaço livre sobrando e por sorte seu arquivo DUMP compactado ficou com pouco abaixo disto vamos suport 9G de dump o que não é considerado um arquivo grande para este tipo de situação.

Como iremos importar a base de dados? Bom vamos lhe apresentar o comando mknod no Linux.
Est comano cria um arquivo especial no linux.
Primeiro você precisa criar um arquivo para ser o apontamento da memória.

# mknod pipe1 p

Depois você precisa descompactar o arquivo e aqui é que entra a grande mágica deste post.

# gunzip < arquivocompactado.dmp.gz > pipe1 &

Este comando irá descompactar o arquivo para dentro do arquivo pipe1, porem se você listar o arquivo ele estará vazio.

OBS: você não poderá tentar editar o arquivo, caso você faça isto você terá de refazer todos estes passos novamente.
Após isto você deverá efetuar o processo de import.

Imp user/senha@banco file=pipe1 log=import.log parâmetros...

Basicamente o que fizemos foi colocar o arquivo de dump para descompactar em memória sendo assim ele vai ser descompactado no arquivo pipe1 conforme o import vai precisando, e com isso o mesmo não ocupa espaço em disco.

Um teste que eu acabei não realizando seria a questão de performance dos imports.

Ai vai minha dica. ;)

Nenhum comentário:

Postar um comentário