fbpx

DATAPUMP • Como usar

DATAPUMP • Como usar

E aí, galera! Hoje vamos falar sobre o Data Pump. Você sabe o que é?

São ferramentas que utilizamos, como expdp e impdp, para backups lógicos (se assim posso dizer). Assim, chamamos de DUMP. Não quero me alongar na explicação, mas não devemos tratar o Data Pump como uma solução de backup. Pois, em relação ao desempenho, temos alguns problemas em relação ao RMAN (que sim, deve ser utilizado como solução de backup), por exemplo:

  • RMAN: Ele copia os dados que estão preenchidos no datafile, que por sua vez separa em backup pieces, junta em backup sets e faz o backup. Ou seja, a cópia é fiel.
  • Data Pump: Ele gera o DDL da tabela e seus inserts. Ou seja, ao invés de exportar o que existe, ele gera comandos para recriar o que já existe. Pode haver concorrência nos blocos por estarem todos em um só.

Abaixo segue a sintaxe para utilizarmos o expdp e o impdp, mas antes devemos saber se existe um diretório criado. E por que devemos criar este diretório?

Criar este diretório no Oracle nos permite controlar quem tem permissão para ler e escrever arquivos neste diretório, bem como ajuda na facilidade de gerenciamento, como ter diretórios dedicados para os arquivos de dump e flexibilidade na automatização, podemos padronizar caminhos do diretório para usar em scripts.

1. Devemos criar uma pasta ou partição no sistema operacional

2. Agora no SQL*Plus devemos executar:
CREATE OR REPLACE DIRECTORY nome_diretorio AS ‘caminho_da_pasta_criada’;

3. Após criar, devemos dar o grant para o usuário que irá realizar o dump:

GRANT READ, WRITE ON DIRECTORY nome_diretorio TO nome_usuario;

Após isso, já podemos realizar nosso expdp ou impdp. Abaixo segue as sintaxes, bem como alguns parâmetros. Lembre-se, são apenas alguns parâmetros. Existem vários.
EXPDP
expdp usuario/senha@nome_servico_pdb directory=nome_do_diretorio  dumpfile =nome_dump.dmp logfile=nome_do_log.log full=n schemas=nome_do_schema

O que este comando faz?

  • expdp usuario/senha@nome_servico_pdb: Inicia a ferramenta logando no database informado.
  • DIRECTORY=BACKUP: Diretório ou pasta criada para compartilhar e armazenar os dumps.
  • DUMPFILE=nome_dump.DMP: Nome do arquivo de dump.
  • LOGFILE=nome_do_log.log: Nome do arquivo de log.
  • FULL=N: Não quero todos os objetos do banco de dados.
  • SCHEMAS=nome_do_schema: Apenas objetos do schema informado.

IMPDP

impdp usuario/senha@nome_servico_pdb directory=nome_do_diretorio  dumpfile =nome_dump.dmp logfile=nome_do_log.imp full=n schemas=nome_do_schema

Abaixo seguem alguns parâmetros que podemos utilizar:

  • FULL=Y: Abrange todos os objetos do banco de dados.
  • REUSE_DUMPFILES=YES: Arquivos de dump, se já existirem, serão substituídos pelos novos arquivos.
  • CONTENT=METADATA_ONLY: Somente estrutura.
  • CONTENT=DATA_ONLY: Somente os dados, sem a estrutura.
  • TABLE_EXISTS_ACTION=SKIP: Se já existir, ele pula a criação do objeto.
  • TABLE_EXISTS_ACTION=TRUNCATE: Exclui as linhas existentes e então carrega as linhas na origem.

Espero que tenha gostado. Até a próxima!