Dica EXPDP – COMPRESSION

Fala PessoAll,

Estive fazendo um EXPDP de uma base de aproximadamente 360Gb.


nohup expdp userid=myusr/mypwd directory=DIR_EXPORT_SCHEMA dumpfile=exp_MS_MSI_18032011.dmp logfile=exp_MS_MSI_18032011.log schemas=MS,MSI status=300

Iniciei o export, e o directory DIR_EXPORT_SCHEMA estava em uma partição que tinha 112Gb livre, imaginei que o export ocorreria sem problemas, porém… de repente… erro no log, ao verificar, disco estava em 100% de uso. Ou seja, ele gerou um arquivo de 112Gb!

Então, lembrei que no bom e velho EXP tinha um parâmetro COMPRESS e decidi ver como era agora no novo EXPDP. Verificando o Help (expdp help=y), encontrei o parâmetro COMPRESSION e passei a utilizá-lo no meu comando, ficando assim:


nohup expdp userid=myusr/mypwd directory=DIR_EXPORT_SCHEMA dumpfile=exp_MS_MSI_18032011.dmp logfile=exp_MS_MSI_18032011.log schemas=MS,MSI compression=ALL status=300

Depois da conclusão do processo, fui ver o tamanho do arquivo e tive um baita surpresa! O dump inteiro ficou com 31Gb! Ou seja, sem compressão, chegamos em 112Gb e estourou o disco, com a compressão ficou em 31Gb.

Fica a dica, caso alguém tenha alguma restrição de espaço, manda bala com o COMPRESSION do EXPDP que realmente funciona, e a compressão é BEM significativa!

Abraços.

Atc.
Gerson Júnior
gerson.vasconcelos@gmail.com

10 ideias sobre “Dica EXPDP – COMPRESSION

  1. marcos

    Gerson,

    Neste caso, quando for fazer o IMP, precisa passar algum parâmetro para “UNCOMPRESS”? Ou somente o IMP ele já identifica?

    Abraços,
    Marcos Amaral
    DBA Jr. Gabos Soluções

    Responder
    1. oracle Autor do post

      Opa Anatoli.

      Obrigado pela visita.
      O parametro STATUS serve pra você estipular um tempo para que o job do expdp/impdp tenha o status atualizado, informando o andamento da operação. Caso vocÊ não informa nada, ele só será atualizado quando tiver alguma novidade na execução. Em que casos pode ficar um tempão sem atualizar? Por exemplo: A criação de um índice muito grande.

      Espero ter ajudado!!

      Abraços!

      Responder
    1. oracle Autor do post

      Boa tarde Aislan.

      É possível sim.
      Se por exemplo, você quer exportar uma tabela que tem um campo data, pegando apenas os registros de 3 dias atrás, você pode utilizar o parâmetro “QUERY”.
      Pre ficar mais simples você pode executar “expdp help=y” que vão aparecer todas as opções disponíveis e mais detalhes sobre o EXP.

      Espero ter ajudado.
      Se não, explica melhor o que precisa, e podemos ir conversando mais.

      Abraços!

      Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *