IMPDP hangs, session wait “wait for unread message on broadcast channel”
昨晚有个朋友说加班在IMPDP数据, 在导入中途突然没有了进展,挂在那里不动了,impdp 窗口也没有报错, 一直等了1个多小时,说是impdp使用了parallel,怀疑是parallel参数出了问题, 最终其实原因很简单。这里只是简单的描述遇到这类问题时的处理思路。
set lines 150 pages 100 numwidth 7
col program for a38
col username for a10
col spid for a7
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') "DATE", s.program, s.sid,
s.status, s.username, d.job_name, p.spid, s.serial#, p.pid
from v$session s, v$process p, dba_datapump_sessions d
where p.addr=s.paddr and s.saddr=d.saddr;
检查v$px_process是否并行,
检查dba_datapump_jobs 确认job是否executing 状态,
检查v$session_longops 看到进度,另外从 v$transaction 视图 USED_UBLK , used_urec impdp进程状态
1, 先确认是hang 还是 slow ;
2, 检查当前sesion的wait event ;
3, 检查Alert log;
开始说是使用了impdp parallel ,
检查v$px_process无记录确认当前无并行,
检查dba_datapump_jobs 确认了job依然是executing 状态,
检查v$session_longops 看到进度无进展,这个从 v$transaction 视图 USED_UBLK , used_urec 字段也可以确认impdp进程是hang没有必要再死等
检查v$session BLOCKING_SESSION,event,SECONDS_IN_WAIT,state,LAST_CALL_ET ,从event 可以确认是在等待 “wait for unread message on broadcast channel”
这是一个idle wait,在等待message请求,通常这个问题是因为空间问题,但是不会在datapump进程抛出异常,alert.log中才有相关错误原因
随后再alert log 中找到了错误原因是提示存放归档的闪回区使用满了, 有时会是导入的Tablespace无可用空间, 接下来的处理方法就很简单了。
set lines 150 pages 100 numwidth 7
col program for a38
col username for a10
col spid for a7
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') "DATE", s.program, s.sid,
s.status, s.username, d.job_name, p.spid, s.serial#, p.pid
from v$session s, v$process p, dba_datapump_sessions d
where p.addr=s.paddr and s.saddr=d.saddr;
另外也可以使用trace 、10046 event 诊断请参考MOS 286496.1
IMPDP hangs, session wait “wait for unread message on broadcast channel”的更多相关文章
- 针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1)
针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1) 文档内容 适用于: Oracle Database – Enterprise Edi ...
- 推荐一个很好用的脚本session snapper
源网址http://tech.e2sn.com/oracle-scripts-and-tools/session-snapper 内容: If you want to just download Sn ...
- [转帖]EXPDP dumpfile和parallel的关系
http://blog.itpub.net/28602568/viewspace-2133375/ 转帖 EXPDP 里面 parallel 与 dumpfile 里面的文件数的关系. 但是我这里有一 ...
- AWR Report 关键参数详细分析
WORKLOAD REPOSITORY report for DB Name DB Id Instance Inst num Startup Time Release RAC CALLDB 12510 ...
- oracle 非空闲等待事件排查
想必大家都知道Oracle的等待时间分为两种,一种我们称之为“空闲等待事件”,另外一种称之为“非空闲等待事件”.“空闲等待事件”——作为DBA可以不用过分的关注这类等待事件.“非空闲等待事件”——当D ...
- Spring Boot 入门之 Web 篇(二)
原文地址:Spring Boot 入门之 Web 篇(二) 博客地址:http://www.extlight.com 一.前言 上一篇<Spring Boot 入门之基础篇(一)>介绍了 ...
- Openfire的启动过程与session管理
说明 本文源码基于Openfire4.0.2. Openfire的启动 Openfire的启动过程非常的简单,通过一个入口初始化lib目录下的openfire.jar包,并启动一个 ...
- Servlet的学习之Session(2)
在上一篇中我们学习了Session对象默认在一个会话过程中,由服务器创建,能保存在这个会话过程中用户访问多个web资源时产生的需要保存的数据,并在访问服务器中其他web资源时可以将这些数据从Sessi ...
- Servlet的学习之Session(1)
在学习完了Servlet中的Cookie技术后,我们再来学习另一个能保存会话数据的技术——Session. Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其 ...
随机推荐
- c# 如何通过反射 获取\设置属性值
c# 如何通过反射 获取\设置属性值 //定义类public class MyClass{public int Property1 { get; set; }}static void Main(){M ...
- ios UI 之间的切换方法,using prepareForSegue and not
1, use prepareForSegue: - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { RWTDe ...
- Tornado源码探寻(准备阶段)
上一篇从一个简单的例子大致了解到Tornado框架的一个概述,同时也看清了web框架的本质. 接下来,我们从tornado程序的起始来分析其源码: 一.概述 上图是摘自朋友的博客里的内容,这张图很明确 ...
- CSDN被黑几年后 我决定继续blogs
CSDN被黑几年后 我决定继续blogs 可惜了我那么多年的文章,全没了 希望这个博客顺风顺水---2015-12-23
- poj 2828 Buy Tickets【线段树单点更新】【逆序输入】
Buy Tickets Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 16273 Accepted: 8098 Desc ...
- JAVA基础英语单词表(上)
action / 'ækʃən / 动作,行为 active / 'ækti ...
- Java多线程异步调度程序分析(二)
源自:http://blog.sina.com.cn/s/blog_4cc16fc50100c0uh.html public abstract class Result { //抽象的结果类 pu ...
- JDBC——事物管理
案例:银行转账问题,数据库如下 相关API setAutoCommit(boolean autoCommit) 将此连接的自动提交模式设置为给定状态.设置事务是否自动提交如果设置为false,表示手 ...
- CSS3之设计动态立体盒子
CSS3设计3D效果图 使用到CSS3中的变形.缩放.倾斜. 只写了兼容Gecto的.发张图片鼓励自己 <!DOCTYPE html> <html> <head> ...
- iOS UIKit:CollectionView之布局(2)
Collection view使用UICollectionViewFlowLayout对象来管理section中的cell,该对象是一种流布局方式,即在collection view中的section ...