De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Fabiano Teixeira Rangel
Data de Publicação: 16 de Dezembro de 2001
Um dos grandes problemas dos Administradores é trabalhar com arquivos maiores que 2 GB
Isso acontece em tabelas gigantescas do ORACLE , o pior é quando temos que resolver problemas de fragmentação. Por exemplo você tem uma tabela que é formada por 3 arquivos(data files) de 1.5 GB (4.5GB)
Ao fazer um export do banco você vai gerar um "arquivão" que seu sistema de arquivos não vai aguentar (a não ser que você esteja usando um journaled file system por exemplo)
Consegui resolver este problema da seguinte forma:
1) Criar um arquivo do tipo pipe
mknod /tmp/export_pipe p
2)Comprima o arquivo em background (use qualquer programa de compressão, gzip, zip,compress etc.)
compress < export_pipe >export_pipe.Z &
se tiver que fechar a sua sessão para ir embora use:
nohup compress < export_pipe >export_pipe.Z &
3) Exportando a tabela do Oracle
exp file=/tmp/export_pipe userid=user/password table=<nome da tabela>
se você não entendeu 100%, ai vai a explicação:
Passo 1) Aqui a única coisa que é feita é criar um arquivo zerado(em branco), com um detalhe, é do tipo pipe, verifique com o comando:
ls -lrt prw-rw-r-- 1 fabiano fabiano 0 Dec 7 15:36
Este arquivo tem um " p " no início.
Passo 2) Aparentemente o compactador, está compactando um arquivo zerado, mas na verdade ele pega o conteúdo do arquivo de entrada <export_pipe> compacta , joga para o arquivo de saída e libera o conteúdo do arquivo de entrada, assim o arquivo pipe cresce e diminui durante a execução do job sem estourar seu file system, criando diretamente um arquivo compactado (repetindo, você pode usar um outro compactador)
Passo 3) No passo 3 você pode usar a criatividade, eu estou usando um exemplo para fazer um export de uma tabela do ORACLE, que faz um dump da tabela para o arquivo pipe.
Você pode fazer o import no ORACLE , usando o mesmo conceito, qualquer problema estou a disposição.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários