DB - Data Pump Export

16
13 de novembro de 2010 [Data pump] No Oracle 10g você pode usar um utilitário de movimentação de dados chamado Data Pump para aumentar o desempenho no transporte de dados, pois o mesmo é 60% mais rápido do que os utilitários de export e import que ainda estão disponíveis no 10g. O Data Pump utiliza recursos de processamento paralelos no transporte de dados e pode ler arquivos de exportação criados pelo utilitário export. Ele emprega a Tecnologia DIRECT PATH para carregar ou exportar dados. Diferentemente dos programas Import e Export que funciona no lado cliente de uma sessão do banco de dados, o Data Pump executa no servidor. Assim, você deve usar um diretório de banco de dados para especificar a localização de arquivos de Dump e Log. O Data Pump pode ser chamado da linha de comando com os programas IMPDB e EXPDP ou através do PACKAGE DBMS_DATAPUMP. Você pode pedir ao expdp uma lista completa de parâmetros, especificando o parâmetro help=y. Parâmetros Descrição Full=y Modo de exportação de banco de dados Schemas=schema_li st Especifica exportação em modo schema Tables=tables_lis t Exportação em Modo Tabela Content=content_o ption Indica quando dados ou metadados serão exportados default ALL Network_link=db_l ink Especifica um Banco de Dados Remoto com a origem de dados Dumpfile=dir:file Nome do Arquivo Dump, Se o nome do Arquivo contiver %U ,este será substituído por dois

Transcript of DB - Data Pump Export

Page 1: DB - Data Pump Export

13 de novembro de 2010 [ ]

No Oracle 10g você pode usar um utilitário de movimentação de dados chamado Data Pump para aumentar o desempenho no transporte de dados, pois o mesmo é 60% mais rápido do que os utilitários de export e import que ainda estão disponíveis no 10g.

O Data Pump utiliza recursos de processamento paralelos no transporte de dados e pode ler arquivos de exportação criados pelo utilitário export. Ele emprega a Tecnologia DIRECT PATH para carregar ou exportar dados. Diferentemente dos programas Import e Export que funciona no lado cliente de uma sessão do banco de dados, o Data Pump executa no servidor. Assim, você deve usar um diretório de banco de dados para especificar a localização de arquivos de Dump e Log.

O Data Pump pode ser chamado da linha de comando com os programas IMPDB e EXPDP ou através do PACKAGE DBMS_DATAPUMP. Você pode pedir ao expdp uma lista completa de parâmetros, especificando o parâmetro help=y.

Parâmetros Descrição

Full=y Modo de exportação de banco de dados

Schemas=schema_list Especifica exportação em modo schema

Tables=tables_list Exportação em Modo Tabela

Content=content_option Indica quando dados ou metadados serão exportados default ALL

Network_link=db_link Especifica um Banco de Dados Remoto com a origem de dados

Dumpfile=dir:file Nome do Arquivo Dump, Se o nome do Arquivo contiver %U ,este será substituído por dois dígitos .

Filesize=size_limit Tamanho máximo do arquivo Dump e Log

Logfile=dir:file Localização e nome do Arquivo de Log

Directory=dir Localização para Arquivo Dump e Log

Nologfile=y Indica que não será gravado um arquivo de log.

Job_name=identifier Especifica um nome que pode ser utilizado por um job de importação

Parallel=degree Número máximo de processos de palalelismo.

Parfile=dir:file Localização e nome do arquivo de Parâmetros

Page 2: DB - Data Pump Export

13 de novembro de 2010 [ ]

Utilizando o Data Pump para Exportar dados

Você inicia uma exportação via Data Pump executando o Programa EXPDP ou executando um Programa PL/SQL que chama a procedure DBMS_DATAPUMP.O  Enterprise Manager Também fornece uma interface gráfica para a execução do Data Pump.

Aprenderemos agora como Exporta dados utilizando a linha de comando com o Data Pump.

O programa de exportação do Data Pump pode funcionar de vários modos, incluindo banco de dados, Schema, Tabela, Tablespace. Em uma exportação de modo de banco de dados, o banco de dados inteiro é exportado para arquivo de sistema operacional incluindo contas de usuários, sinônimos públicos, roles e profiles.

Em uma exportação de modo schema, todos os dados e metadados de uma lista de schema são exportados. No modo de tabela, inclui os dados e metadados de uma lista de tabelas no modo tablespace, extrai tanto dados como metadados de todos os objetos em uma lista de tablespace bem como qualquer objeto dependente daquela lista de tablespaces especificada.

Os arquivos criados pelo Data Pump são chamados de DUMP FILES, um ou vários desses arquivos podem ser criados durante uma única execução do Data Pump. Múltiplos arquivos podem ser criados se a execução do Data Pump tiver um grau de paralelismo maior que um ou se um arquivo exceder o tamanho limite do parâmetro FILISEZE. Todos os arquivos de dump de uma execução são chamados de dump file set.

Veremos agora como executar o data pump em seus diferentes modos de exportação.

Entre com o usuário system, dê o privilégio create any directory para criar o diretório onde será guardado o dump file

Conn system/password@orcl

Create or replace directory teste_dir as ‘E:\teste_dir’;

Grant read, write on directory teste_dir to scott;

Page 3: DB - Data Pump Export

13 de novembro de 2010 [ ]

Fazendo o export de tabelas com expdp

Expdp  scott/tiger@orcl  tables=emp,dept directory=teste_dir  Dumpfile=emp_dept.dmp  logfile=expdppemp_dept.log  nologfile =y content=metadata_only

Page 4: DB - Data Pump Export

13 de novembro de 2010 [ ]

O parâmetro nologfile=y diz ao DATA PUMP para não gravar um arquivo de log em disco. O parâmetro content=metadata_only diz ao DATA PUMP para exportar só os metadados, não os dados das tabelas. Para especificar somente dados, sem metadados, substitua o parâmetro metadata_only por data_only.

O parâmetro tables_exists_action=append permite importar dados para uma tabela que já tem dados .

Fazendo o export de schemas com expdp

Expdp system/oracle@orcl schemas=scott directory=teste_dir dumpfile=scott.dmp logfile=impdpscott.log  

Page 5: DB - Data Pump Export

13 de novembro de 2010 [ ]

Fazendo o exporte do Banco de Dados  com expdp

Expdp system/password@orcl full=y  directory=teste_dir dumpfile=db10g.dmp logfile=impdpdb10g.log

Page 6: DB - Data Pump Export

13 de novembro de 2010 [ ]

Fazendo o exporte das tablespaces

Expdp system/password@orcl directory=teste_dir dumpfile=db10tabelspace.dmp logfile=exptbs10g.log tablespaces=users

Page 7: DB - Data Pump Export

13 de novembro de 2010 [ ]

Para monitorar as operações realizadas pelo Data Pump, consulte as views:

Dba_datapump_jobsDba_datapump_sessionsDatapump_paths

Page 8: DB - Data Pump Export

13 de novembro de 2010 [ ]

Uma importação com o Data Pump pode ser iniciada com um programa PL/SQL, utilizando a procedure DBMS_DATAPUMP ou pelo Oracle Enterprise Manager. Veremos como importar dados com o Data Pump.

Executando uma importação utilizando a linha de comando

O programa de importação DATA PUMP, impdp, tem vários modos de operação, incluindo FULL, SCHEMA, TABLE, TABLESPACE. No modo FULL, o conteúdo inteiro de um conjunto de arquivos especificado é carregado. Modo SCHEMA, todo o conteúdo de uma lista de esquemas especificados é carregado. O conjunto de arquivos especificado de uma importação no modo SCHEMA pode ser de banco de dados ou de uma exportação de modo TABLE, no modo TABLE, só a Tabela especificada e os objetos dependentes são carregadas do conjunto de arquivos de exportação. Com uma importação no modo TABLESPACE, todos os objetos no conjunto de exportação que estiverem na lista de tablespace especificada são carregados.

Em todos estes modos, a origem pode ser um banco de dados, ao invés de um conjunto de arquivo. A tabela abaixo mostra os modelos de importação suportados por diversos modos de exportação.

Modo de Exportação Modo de Importação

Database, Schema, Tabela, Tablespace.

Full

Database, Schema Schema

Database, Schema, Tabela, Tablespace.

Tabela

Database, Schema, Tabela, Tablespace.

Tablespace

A Role IMP_FULL_DATABASE é requerida se a origem for um banco de dados ou se a sessão de exportação exigir a role EXP_FULL_DATABASE.Vários parâmetros  controlam Data Pump  na importação. Esses parâmetros são listados na Tabela

Digite: help = y

Page 9: DB - Data Pump Export

13 de novembro de 2010 [ ]

Parâmetros de Importação do Data Pump

Full=Y Especifica uma Importação full

Schema Especifica uma importação no modo Schema

Tables=tabela_list Especifica importação no modo Table

Tablespace=tablespace_list Especifica importação no modo Tablespace

Content=cont_option Indica que serão carregados dados, metadados ou ambos

Network_link=db_link Indica que o banco de dados especificado no Database link será utilizado como origem de dados

Dumpfile=dir:arq Localização e o nome do arquivo de dump

Logfile= Localização e o nome do arquivo de log

Directory=dir Diretório para localizar os arquivos de Dump e Log

Nologfile=y Não grava arquivos de log

Sqlfile= Especifica um arquivo para gravar comandos DDL

Job_name=identifier Nome para tarefa de import

Parallel Número máximo de processos para importação

Parfile= Localização dos arquivos de Parâmetro

Reuse_datafiles=option Indica se arquivos deverão ser  sobrepostos com o camando: Create Tablespace

Remap_datafiles=source:target Indica como renomear arquivos de dados

Remap_schema Determina a carga de um schema

Remap_tablespace Instrução para fazer Remap de tablespace

Include Determina que tipo de objeto serão incluídos na importação

exclude Determina que tipo de objeto serão excluídos na importação

Status  

Streams_configuration Permitem o carregamento da ação do

Page 10: DB - Data Pump Export

13 de novembro de 2010 [ ]

metadata

Table_exists_action Exemplos de objetos importados

Transform Metadata transformam para aplicar-se aos objetos aplicáveis. Válido transforme keywords

Transport_datafile Passa os datafiles a serem importados

Transport_full_check verificam segmentos do armazenamento de todas as tabelas

Transport_tablespace Determina a tablespace a ser importada

Exemplo da utilização do Importe do Data Pump

Fazendo o import de tabelas com impdp

Page 11: DB - Data Pump Export

13 de novembro de 2010 [ ]

Imp  scott/tiger tables=emp,dept directory=teste_dir dumpfile=emp_dept.dmp logfile=impdpemp.log

Fazendo import de schemas com  impdp

Impdp system/password schemas=scott directory=teste_dir dumpfile=scott.dmp logfile=impdpscott.log

Fazendo o import full do Banco de Dados com impdp

Page 12: DB - Data Pump Export

13 de novembro de 2010 [ ]

impdp system/passwordl full=y  directory=teste_dir dumpfile=db10g.dmp logfile=impdpdb10g.log

Obs.: Na imagem, estão aparecendo algumas mensagens de erro. Estas mensagens são devidas a existência de algumas tablespaces e esquemas.

Fazendo o import tablespaces

Você usa Tablespaces transportável quando você quer mover um tablespace inteiro dos dados de uma base de dados do Oracle para outra. Tablespaces transportável permite que os arquivos de dados do Oracle sejam desconectados de uma base de dados, movidos ou copiados a uma outra posição, e plugged então em uma outra base de dados. Os dados movidos que usam Tablespaces transportável podem ser muito mais rápidos do que executando uma exportação ou a importação dos mesmos dados, porque transportar um tablespace requer somente a cópia dos datafiles e integrar a informação do dicionário do tablespace. Mesmo ao transportar um tablespace, a exportação e a importação são usadas e ainda segurar a extração e a recreação do metadata para esse tablespace.

Page 13: DB - Data Pump Export

13 de novembro de 2010 [ ]

impdp system/password directory=teste_dir dumpfile=db10tabelspace.dmp logfile=exptbs10g.log tablespaces=users