IMP导入时遭遇oracle等待事件single-task message

朋友在进行IMP导入时,遇到这样的情况,在表及数据导入完成的位置,imp导入工具停止响应.等了半小时以上,所以无奈之下只好强行结束.结果发现,存储过程已经被导入了,但触发器和包都没有被导入.
此前,我们也遇到过类似现象.大多是由imp工具与目标库版本不匹配所致.所以,先从这方面检查,dmp文件是由11.2版本的exp导出的,使用的imp也是11.2的,目的库版本11.2.0.1,所以,这方面没问题.
一筹莫展之时,只好使用带ignore=y rows=n参数的imp重新再导入,导入停止响应的同时,查看等待事件.
查看的结果是,等待事件single-task message
对于这个等待事件,oracle的解释是:
When running single task, this event indicates that the session waits for the client side of the executable.
而现在imp操作,就是在服务器本机进行的.并没有服务端/客户端的嫌疑.
按等待事件,查阅网上相关资源来看,遭遇此等待事件多数是在编译无效对象的时候,而且是无效对象中包含数据库链接的使用.
这个线索给了我们启发.恰好,我们导出的原始环境也建有数据库链接,而且存储过程中使用了链接.所以联想到imp导入表和数据之后,正是需要对对象进行编译.
所以,先把目的数据库链接删除,然后,再进行带ignore=y rows=n参数的imp操作,结果发现,还是会停止响应,再去看数据库链接,又被建上了.
最终的解决,就是导入的过程中,用另一个会话连上库,将刚导入创建上的数据库链接予以删除,使imp导入过程继续向下进行.这样导入成功.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29512902/viewspace-1404070/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29512902/viewspace-1404070/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值