Check current SQL Statement running at data pump seems hanged
Get the SQL which is running slow or stuck then check with the following queries:
-- Check the Session running datapump operations
set lines 150 pages 100
col program for a38
col username for a10
col spid for a7
select to_char (sysdate,'YYYY-MM-DD HH24:MI:SS') "DATE", s.program, s.sid,
s.status, s.username, d.job_name, p.spid, s.serial#, p.pid
from v$session s, v$process p, dba_datapump_sessions d
where p.addr=s.paddr and s.saddr=d.saddr;
--Check the Session waiting from how much time and wait event
select w.event, w.wait_time,w.seconds_in_wait, w.p1,w.p2,w.p3
from v$session s, v$process p, v$session_wait w
where s.paddr=p.addr and s.module='Data Pump Worker' and s.sid=w.sid;
--Check the Query executing by Session
select w.event, w.wait_time,w.seconds_in_wait, w.p1,w.p2,w.p3
from v$session s, v$process p, v$session_wait w
where s.paddr=p.addr and s.module='Data Pump Worker' and s.sid=w.sid;
-- Check the SQL query which is running/halt
SELECT RPAD('USERNAME : ' || s.username, 80) ||
RPAD('OSUSER : ' || s.osuser, 80) ||
RPAD('PROGRAM : ' || s.program, 80) ||
RPAD('SPID : ' || p.spid, 80) ||
RPAD('SID : ' || s.sid, 80) ||
RPAD('SERIAL# : ' || s.serial#, 80) ||
RPAD('MACHINE : ' || s.machine, 80) ||
RPAD('TERMINAL : ' || s.terminal, 80) ||
RPAD('SQL TEXT : ' || q.sql_text, 80) FROM v$session s ,v$process p, v$sql q
WHERE s.paddr = p.addr and s.module='Data Pump Worker'
AND s.sql_address = q.address
--AND s.sql_hash_value = q.hash_value;
Note: Check the alert log file if its datapump process is halt sometime it need datafiles space or temp space for operations.