Check current SQL Statement running at data pump seems hanged

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.

This entry was posted in Oracle on by .
Unknown's avatar

About SandeepSingh

Hi, I am working in IT industry with having more than 15 year of experience, worked as an Oracle DBA with a Company and handling different databases like Oracle, SQL Server , DB2 etc Worked as a Development and Database Administrator.

Leave a Reply