Para melhor visualização, recomendo resolução de no mínimo 1280 x 800 e navegador Mozilla Firefox


quarta-feira, 14 de março de 2018

Retomando o processo de Export/Import Datapump no Oracle

Por Eduardo Legatti

Olá,

Quando realizamos tarefas de exportação ou importação através do Oracle Datapump, temos a opção de utilizar o modo interativo. Por exemplo, podemos abandonar o utilitário e deixar a parte "server" executando. Segue abaixo uma simulação usando o utilitário Import Datapump (impdp).

$ impdp system/manager dumpfile=BD01.dmp schemas=SCOTT nologfile=y

Import: Release 11.2.0.3.0 - Production on Seg Mar 12 15:06:41 2018

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Conectado a: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Tabela-mestre "SYSTEM"."SYS_IMPORT_SCHEMA_01" carregada/descarregada com sucesso
Iniciando "SYSTEM"."SYS_IMPORT_SCHEMA_01":  system/******** dumpfile=BD01.dmp schemas=SCOTT nologfile=y
Processando o tipo de objeto SCHEMA_EXPORT/USER
^C

Acima, após iniciar a importação, executei [CTRL +C] e digitei a palavra help. Dentre os comandos abaixo que podemos utilizar, irei fazer o teste saindo do utilitário impdp e depois retomando o modo interativo do mesmo.

Import> help
----------------------------------------------------------------------------
Os seguintes comandos sao validos quando estao no modo interativo.
Observacão: sao permitidas abreviaturas.

CONTINUE_CLIENT
Retorna ao modo de log. O job ser reiniciado se estiver inativo.

EXIT_CLIENT
Encerra a sessao do cliente e deixa o job sendo executado.

HELP
Resume comandos interativos.

KILL_JOB
Desassocia e deleta o job.

PARALLEL
Altera o nmero de workers ativos para o job atual.

START_JOB
Inicia ou retoma o job atual.
As palavras-chave validas sao: SKIP_CURRENT.

STATUS
A frequencia (segundos) com que o status do job ser monitorado, em que
O default [0] mostrar o novo status quando disponivel.

STOP_JOB
Faz shutdown de forma ordenada da execuão do job e sai do cliente.
As palavras-chave validas sao: IMMEDIATE.

Import> exit_client

Após sair do utilitário impdp através do comando exit_client, irei verificar no banco de dados o nome da sessão que iremos utilizar para retomar ao modo não interativo.

SQL> alter session set nls_date_format='dd/mm/yyyy hh24:mi:ss';

Sessão alterada.

SQL> SELECT created, object_name
  2      FROM dba_objects
  3     WHERE owner = 'SYSTEM' AND object_name LIKE '%IMPORT%'
  4  ORDER BY 1;

CREATED             OBJECT_NAME
------------------- --------------------
12/03/2018 15:07:27 SYS_IMPORT_SCHEMA_01

SQL> select owner_name,job_name,operation from dba_datapump_jobs;
 
OWNER_NAME      JOB_NAME                       OPERATION
---------------- ------------------------------ --------------
SYSTEM           SYS_IMPORT_SCHEMA_01           IMPORT

Sabemos que o nome do job que está realizando a importação se chama SYS_IMPORT_SCHEMA_01 e será o nome deste job que iremos utilizar para retomar o processo de importação, como demonstrado abaixo.

$ impdp system/manager attach=SYS_IMPORT_SCHEMA_01

Import: Release 11.2.0.3.0 - Production on Seg Mar 12 15:10:37 2018

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Conectado a: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

Job: SYS_IMPORT_SCHEMA_01
  Proprietrio: SYSTEM
  Operaão: IMPORT
  Privs. do Criador: TRUE
  GUID: 673C01A018EC5943E055000000000001
  Horrio de Incio: Segunda-Feira, 12 Marco, 2018 15:07:27
  Modo: SCHEMA
  Instncia: BLN18
  Paralelismo Mx: 1
  EXPORT Parmetros do Job:
     CLIENT_COMMAND        system/******** dumpfile=BD01.dmp schemas=SCOTT compression=all nologfile=y
     COMPRESSION           ALL
  IMPORT Parmetros do Job:
  Nome do Parmetro      Valor do Parmetro:
     CLIENT_COMMAND        system/******** dumpfile=BD01.dmp schemas=SCOTT nologfile=y
  Estado: EXECUTING
  Bytes Processados: 0
  Paralelismo Atual: 1
  Contagem de Erros do Job: 0
  Arquivo de Dump: /tmp/BD01.dmp

Worker 1 Status:
  Nome do Processo: DW00
  Estado: EXECUTING
  Esquema de Objeto: SCOTT
  Nome do Objeto: SCOTT
  Tipo de Objeto: SCHEMA_EXPORT/USER
  Paralelismo do Worker: 1

É possível perceber pelo resultado acima que é mostrado tanto o comando que que está executando a importação quanto o comando que foi utilizado para realizar a exportação. Para verificar em que estágio a importação está, poderemos utilizar o comando status conforme seguir.

Import> status

Job: SYS_IMPORT_SCHEMA_01
  Operaão: IMPORT
  Modo: SCHEMA
  Estado: EXECUTING
  Bytes Processados: 0
  Paralelismo Atual: 1
  Contagem de Erros do Job: 0
  Arquivo de Dump: /tmp/BD01.dmp

Worker 1 Status:
  Nome do Processo: DW00
  Estado: EXECUTING
  Esquema de Objeto: SCOTT
  Nome do Objeto: FK_T2_T1
  Tipo de Objeto: SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
  Objetos Concludos: 110
  Paralelismo do Worker: 1

Por fim, se quisermos continuar com a saída padrão da importação podemos utilizar comando abaixo.

Import> continue_client



6 comentários:

Bruno disse...

Muito legal OBRIGADO POR COMPARTILHAR!

ATT:Bruno

Bruno disse...

Eu quando fico perdido

ps -ef | grep impdp

kkk para ver se ainda está rodando.

ajudou muito parabéns

Unknown disse...

Bom dia Eduardo, você pode me da uma dica de como eu faço para diminuir a retenção do backup no RMAN? na verdade é o seguinte, o backup ta sendo feito e a retenção está para 4 dias, só que os backups que passam de 4 dias não estão sendo apagados automaticamente, vc sabe me dizer o porque ?

parabéns pelo seu blog, obg pela sua contribuição .

HudsonS disse...

Estava justamente procurando por isso. Pois na teoria essa é uma das vantagens do Data Pump, porém não tinha encontrado nada prático, ajudou demais, parabéns pelo artigo.

Eduardo Legatti disse...

Olá bicolorfifeiro,

Está sendo executado o comando DELETE OBSOLETE? Qual o resultado do comando REPORT OBSOLETE?

Abraços

Legatti

Danilo Dann disse...

Opa!

To aqui agradecendo o tutorial, acaba de me ajudar!

Abraço!

Postagens populares