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;
expdp
 ou impdp
. Abaixo segue as sintaxes, bem como alguns parâmetros. Lembre-se, são apenas alguns parâmetros. Existem vários.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!