데이터 펌프 작업시 아래 쿼리로 진행상태 확인 가능하다.
select x.job_name,b.state,b.job_mode,b.degree
, x.owner_name,z.sql_text, p.message
, p.totalwork, p.sofar
, round((p.sofar/p.totalwork)*100,2) done
, p.time_remaining
from dba_datapump_jobs b
left join dba_datapump_sessions x on (x.job_name = b.job_name)
left join v$session y on (y.saddr = x.saddr)
left join v$sql z on (y.sql_id = z.sql_id)
left join v$session_longops p ON (p.sql_id = y.sql_id)
WHERE y.module='Data Pump Worker'
AND p.time_remaining > 0;
select b.username, a.sid, b.opname, b.target,
round(b.SOFAR*100/b.TOTALWORK,0) || '%' as "%DONE", b.time_remaining,
to_char(b.start_time,'YYYY/MM/DD HH24:MI:SS') start_time
from v$session_longops b, v$session a
where a.sid = b.sid
and b.opname='SYS_IMPORT_FULL_01'
order by 6;