expdp导出卡住问题诊断

Posted lcword

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了expdp导出卡住问题诊断相关的知识,希望对你有一定的参考价值。

 

本文链接:https://blog.csdn.net/guogang83/article/details/78800487
[oracle@database ~]$nohup expdp gg/gg directory=gg_DB dumpfile=gg_20171212_%u.dmp logfile=gg_zc_20171212.log parallel=4 job_name=exp_gg_20171212 filesize=20g  cluster=no  compression=DATA_ONLY &
...................................................
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
导出一直卡在这里。

1.刚开始以为是ESTIMATE的问题,ESTIMATE默认是BLOCKS 。
ESTIMATE 计算作业估计值。
有效的关键字值为: [BLOCKS] 和 STATISTICS。
于是把调整了一下,ESTIMATE=STATISTICS,结果还是卡住。

2.回归这个问题,那就要找到它到底在做什么,怎么看呢?
select s.EVENT,s.MODULE,s.PROGRAM from gv$session s where s.PROGRAM like ‘%(DW%‘;(也可以查MODULE=Data Pump Worker)
看到了有行锁enq: TX - contention,

3.查下谁堵塞了它,kill session,可以导出了。
SELECT bs.INST_ID,
       bs.username "Blocking User",  
       bs.username "DB User",  
       bs.SID "SID",  
       bs.serial# "Serial#",  
       bs.sql_address "address",  
       bs.sql_hash_value "Sql hash",  
       bs.program "Blocking App",     
       bs.machine "Blocking Machine",   
       bs.osuser "Blocking OS User",   
       bs.serial# "Serial#",                        
       ws.username "Waiting User",  
       ws.SID "WSID",  
       ws.program "Waiting App",  
       ws.machine "Waiting Machine",  
       ws.osuser "Waiting OS User",  
       ws.serial# "WSerial#",  
       wk.TYPE lock_type,  
       hk.lmode mode_held,  
       wk.request mode_requested,  
       TO_CHAR(hk.id1) lock_id1,  
       TO_CHAR(hk.id2) lock_id2,  
       hk.BLOCK blocking_others  
  FROM gv$lock hk, gv$session bs, gv$lock wk, gv$session ws  
 WHERE hk.BLOCK = 1  
   AND hk.lmode != 0  
   AND hk.lmode != 1  
   AND wk.request != 0  
   AND wk.TYPE(+) = hk.TYPE  
   AND wk.id1(+) = hk.id1  
   AND wk.id2(+) = hk.id2  
   AND hk.SID = bs.SID(+)  
   AND wk.SID = ws.SID(+)  
   AND (bs.username IS NOT NULL)  
   AND (bs.username <> ‘SYSTEM‘)  
   AND (bs.username <> ‘SYS‘)  
 ORDER BY 1; 
 

以上是关于expdp导出卡住问题诊断的主要内容,如果未能解决你的问题,请参考以下文章

用expdp导出报错求教ORA-39126,ORA-01555

数据库导入导出expdp,impdp

ORACLE10G expdp 导出数据报错,大神看下

impdp导入expdp导出数据库实例

03.01 Oracle数据泵导出导出(expdp/impdp)命令举例(上)

基于EXPDP,IMPDP实现oracle数据的导入导出