查询数据泵进程号
select a.sid ,c.pid,a.event,b.SESSION_TYPE from v$session a ,dba_datapump_sessions b ,v$process c
where a.saddr = b.saddr
and a.paddr = c.addr;
查询数据泵master表
SELECT o.status,
o.object_id,
o.object_type,
o.owner||'.'||object_name "OWNER.OBJECT"
FROM dba_objects o, dba_datapump_jobs j
WHERE o.owner=j.owner_name AND o.object_name=j.job_name
AND j.job_name NOT LIKE 'BIN$%' ORDER BY 4,2;
正常停止数据泵进程
SET serveroutput on
SET lines 100
DECLARE
h1 NUMBER;
BEGIN
h1 := DBMS_DATAPUMP.ATTACH('SYS_EXPORT_TABLE_01','SCOTT');
DBMS_DATAPUMP.STOP_JOB (h1);
END;
/
oradebug setorapid 741 # 741 为pid
oradebug event 10046 trace name context level 12;
oradebug tracefile_name
查看trace
cat tracefile_name
查看具体对象
select OWNER,SEGMENT_NAME,SEGMENT_TYPE,FILE_ID,BLOCK_ID from dba_extents where FILE_ID=1926 and BLOCK_ID=67911;
SQL> select object_name , object_type from dba_objects where object_id = 14;
-- 查看等待事件
SQL> select event ,sum(wait_time), count(1) from v$session where wait_class<> 'Idle' and sid=1438 group by event order by 2 desc ,3 desc ;
EVENT SUM(WAIT_TIME) COUNT(1)
---------------------------------------------------------------- -------------- ----------
db file sequential read 0 1
SQL> select a.sid ,a.event,c.pid,b.session_type from v$session a ,dba_datapump_sessions b ,v$process c where a.saddr = b.saddr and a.paddr = c.addr and sid=1292;
SID EVENT PID SESSION_TYPE
---------- ---------------------------------------------------------------- ---------- --------------
1292 wait for unread message on broadcast channel 666 DBMS_DATAPUMP
补充:查看数据泵进程的工作状态
- set line 9999
- col owner_name for a10
- col job_name for a25
- col operation for a10
- col job_mode for a10
- col state for a15
- col job_mode for a10
- col state for a15
- col osuser for a10
- col "degree|attached|datapump" for a25
- col session_info for a20
- SELECT s.inst_id,
- dj.owner_name,
- dj.job_name,
- dj.operation,
- dj.job_mode,
- dj.state,
- dj.degree || ',' || dj.attached_sessions || ',' ||
- dj.datapump_sessions "degree|attached|datapump",
- ds.session_type,
- s.osuser,
- (SELECT s.SID || ',' || s.SERIAL# || ',' || p.SPID
- FROM gv$process p
- where s.paddr = p.addr
- AND s.inst_id = p.inst_id) session_info
- FROM DBA_DATAPUMP_JOBS dj --gv$datapump_job
- full outer join dba_datapump_sessions ds --gv$datapump_session
- on (dj.job_name = ds.job_name and dj.owner_name = ds.owner_name)
- left outer join gv$session s
- on (s.saddr = ds.saddr)
- ORDER BY dj.owner_name, dj.job_name;
INST_ID OWNER_NAME JOB_NAME OPERATION JOB_MODE STATE degree|attached|datapump SESSION_TYPE OSUSER SESSION_INFO
---------- ---------- ------------------------- ---------- ---------- --------------- ------------------------- -------------- ---------- --------------------
1 SYS SYS_IMPORT_TABLE_01 IMPORT TABLE EXECUTING 1,1,3 DBMS_DATAPUMP oracle 69,29083,122807
1 SYS SYS_IMPORT_TABLE_01 IMPORT TABLE EXECUTING 1,1,3 WORKER oracle 884,18069,123122
1 SYS SYS_IMPORT_TABLE_01 IMPORT TABLE EXECUTING 1,1,3 MASTER oracle 203,15283,122983