Pular para o conteúdo

Como Monitorar a Exportação do Oracle Data Pump com Quatro Métodos Eficazes

Demonstração Prática: Monitorando a Exportação do Oracle Data Pump em Quatro Abordagens

A exportação de dados utilizando o Oracle Data Pump é uma tarefa fundamental para administradores de banco de dados, garantindo a segurança e a migração eficiente das informações. Durante esse processo, é essencial acompanhar o progresso para assegurar que tudo está fluindo conforme o esperado e para agir rapidamente em caso de problemas. Neste artigo, exploraremos como monitorar a exportação do Data Pump usando quatro abordagens distintas: comandos de sistema operacional, consultas no banco de dados, o pacote DBMS_DATAPUMP e o Oracle Enterprise Manager (OEM). Cada método será demonstrado com exemplos práticos, destacando suas vantagens e a melhor forma de aplicá-los em diferentes cenários.

Vamos considerar que você executou o comando a seguir para realizar uma exportação completa do banco de dados:

ShellScript
expdp USR_FULANO/senha@PDB01 DIRECTORY=DATA_PUMP_X DUMPFILE=dump_Full_Mode.dmp LOGFILE=log_Full_Mode.log JOB_NAME=job_monitorando_exportacao FULL=Y

image 96
FULL MODE

A partir desse momento, o Oracle Data Pump está em execução e podemos monitorar o progresso de várias maneiras.

Daqui para frente estou conectado no banco como usuário SYS.

De dentro do banco se executa o comando:

ShellScript
PS AUX | GREP DW
PS AUX | GREP ORA_DM

image 97
PS AUX

Processos DW (ora_dw): Dois processos (ora_dw00_orcl e ora_dw01_orcl) estão ativos. Isso confirma que o parâmetro PARALLEL=2 foi aplicado corretamente. Cada processo DW é responsável por escrever em um arquivo dump específico, dividindo o trabalho de exportação e acelerando a conclusão do job.

Processo DM (ora_dm): Há apenas um processo ativo (ora_dm00_orcl), que atua como a tabela mestre dessa operação. Ele coordena as atividades dos processos DW, garantindo que todas as partes da exportação sejam realizadas com precisão e organizadas corretamente.

Agora como usuário SYS dentro do PDB  pode ser consultado a view DBA_DATAPUMP_JOBS é possível monitorar o DATA PUMP em tempo real.

SQL
SELECT OWNER_NAME, JOB_NAME, OPERATION, JOB_MODE, STATE FROM DBA_DATAPUMP_JOBS;

image 100
DBA_DATAPUMP_JOBS

OWNER_NAME: Identifica o proprietário do job no banco de dados.

No exemplo, o proprietário é USR_FULANO, indicando que o job foi iniciado por esse usuário.

JOB_NAME: O nome do job, configurado pelo usuário ou gerado automaticamente pelo Oracle.

Aqui, o job chama-se JOB_MONITORANDO_EXPORTACAO. Esse nome ajuda a identificar qual exportação está sendo monitorada, especialmente em ambientes com múltiplos jobs ativos.

OPERATION: Define o tipo de operação executada pelo Data Pump.

No caso do exemplo, a operação é EXPORT, indicando que se trata de uma exportação.

JOB_MODE: Especifica o escopo da operação.

O valor FULL indica que a exportação está sendo realizada no banco de dados inteiro, incluindo todos os esquemas, objetos e dados.

STATE: Mostra o estado atual do job.

O estado EXECUTING significa que a exportação está em andamento. Outros estados possíveis incluem NOT RUNNING (não iniciado), IDLE (aguardando recursos) e COMPLETED (finalizado).

Esse comando é especialmente útil para DBAs que precisam:

  • Verificar rapidamente se o job está ativo e em execução.
  • Identificar possíveis problemas em jobs que estejam em estado de espera (IDLE) ou travados.
  • Monitorar múltiplos jobs simultaneamente e seus proprietários.

E Se Nenhum Resultado For Retornado?

Caso você execute o comando e ele não retorne nenhum registro, como no exemplo abaixo:

image 102
NO ROWS SELECTED

Isso geralmente significa que não há jobs ativos no momento. A ausência de resultados pode indicar que:

  • A exportação foi concluída com sucesso e o job foi encerrado.
  • Não há exportações sendo executadas no banco de dados.

Essa é uma maneira simples de confirmar o término de um job quando nenhuma outra ferramenta de monitoramento está sendo utilizada.

Com as informações que temos podemos acessar a tabela master. Sim toda vez que se inicia uma exportação o systema cria uma TABELA MASTER na qual é usada como ponte para transportar as informações e para que possamos acessar esta tabela master aplicamos o comando:

SQL
desc OWER_NAME.JOB_NAME

No nosso caso aqui é:

SQL
desc USR_FULANO.MONITORANDO

image 103
DESC

O que vemos nesta imagem é a estrutura da TABELA MASTER com … lembrando que esta tabela é temporária assim que finaliza a exportação esta tabela deixa de existir.

Outra forma de monitorar esta TABELA MASTER é por fazer uma contagem de linhas que consta na tabela com o comando:

SQL
SELECT COUNT(*) FROM USR_FULANO.MONITORANDO

image 106
SELECT

A imagem acima demonstra que temos conteúdo na TABELA MASTER, o que indica que ela está em plena atividade.

No entanto, o contrário pode ser verdadeiro caso seja feita uma busca e não haja retorno; isso significa que foi encerrado ou que não existe exportação em andamento.

image 108
DOES NOT EXIST

E não foi apenas a tabela master que deixou de existir; os processos também deixaram de existir.

ShellScript
PS AUX | GREP DW
PS AUX | GREP ORA_DM

image 110
PS AUX VAZIO

Essas quatro abordagens complementam-se e oferecem diferentes níveis de detalhe e controle sobre a exportação.

    • O OEM é ideal para quem prefere uma interface gráfica.

    • As views do Data Dictionary fornecem informações rápidas diretamente no banco.

    • O pacote DBMS_DATAPUMP é poderoso para administração avançada.

    • E os logs são indispensáveis para auditorias e depuração de problemas.

Dessa forma, independentemente do método escolhido, você estará equipado para monitorar e garantir a eficiência das operações do Data Pump!

Tercio Haring

Tercio Haring

Tércio Haring é pai do Max e um entusiasta incansável de TI. Sua paixão pelo próximo o levou a ser socorrista, sempre pronto para ajudar. No universo da tecnologia, seu objetivo vai além de simplesmente compartilhar conhecimento; ele busca manter sua mente conectada ao futuro e abraçar os desafios como oportunidades disfarçadas. Escreve com o objetivo de tornar o complexo mundo dos bancos de dados mais acessível e compreensível, sempre com um toque de humor para tornar a jornada mais leve e divertida. Se você procura insights valiosos, explicações claras e, claro, algumas boas risadas, Tércio é a pessoa certa para te guiar. Junte-se a ele para explorar, aprender e crescer nesse vasto e fascinante universo Oracle!

Prestigie o autor e deixe o seu comentário:

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

plugins premium WordPress