码迷,mamicode.com
首页 > 系统相关 > 详细

impdp时卡住,DW等待library cache lock

时间:2015-07-03 23:30:57      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:oracle   expdp   impdp   

同事反映impdp时在SCHEMA_REPORT/TYPE/TYPE_SPEC步骤卡住,1个多小时后也没有响应,
查下v$session:
select program,sid, event,blocking_session from gv$session  where program like ‘%DW%‘;
结果为:
DW01,98,library cache lock,213
DW03,13,library cache lock,213
DW02,36,library cache lock,213
DW00,213,library cache lock,213
所有的DW进程都在等待library cache lock,看了下之前的impdp参数:
impdp u/p dumpfile=f.dmp schemas=a remap_schema=a:b remap_tablespace=a:b TABLE_EXISTS_ACTION=REPLACE transform=oid:n
原来是之前有一次impdp时中途终止,所以再次impdp时使用了TABLE_EXISTS_ACTION=REPLACE的选项,但问题在于创建一个TYPE时,
CREATE OR REPLACE TYPE "O_INDO" as OBJECT
(
   CODE_ID           varchar2(400)
);
而另一个TYPE O_INDO_TABLE依赖于这个O_INDO,所以导致无法replace这个O_INDO,所有的DW会话都在等待library cache lock,并且session阻塞了自身,形成了一个死锁。


解决办法:
DROP掉SCHEMA B,并重新执行impdp.

版权声明:本文为博主原创文章,未经博主允许不得转载。

impdp时卡住,DW等待library cache lock

标签:oracle   expdp   impdp   

原文地址:http://blog.csdn.net/zhou1862324/article/details/46746561

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!