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:
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

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:
PS AUX | GREP DW
PS AUX | GREP ORA_DM
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.
SELECT OWNER_NAME, JOB_NAME, OPERATION, JOB_MODE, STATE FROM 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:
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:
desc OWER_NAME.JOB_NAME
No nosso caso aqui é:
desc USR_FULANO.MONITORANDO
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:
SELECT COUNT(*) FROM USR_FULANO.MONITORANDO
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.
E não foi apenas a tabela master que deixou de existir; os processos também deixaram de existir.
PS AUX | GREP DW
PS AUX | GREP ORA_DM
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!