解决方案 »

  1.   

    查询v$session找到session的sid
    然后查询
    select * from v$session_wait where sid=xxx
    看看具体等待的原因
      

  2.   

    select vs.sid, vp.program PROCESSNAME, vp.spid THREADID
    from   v$session vs,
           v$process vp ,
           dba_datapump_sessions dp
    where  vp.addr = vs.paddr(+) and
           vs.saddr = dp.saddr; 
    --上面SQL查询相应session id信息 select sid,event,p1,p2,p3, seconds_in_wait
    from   v$session_wait
    where  sid=xxx;
    --查询等待资源的具体信息
      

  3.   

    LZ按一次Ctrl+C, 进入exprot>提示符,然后输入status看状态。在执行过程中,可以按Ctrl+C组合键退出当前交互模式,退出之后,导出操作不会停止,这不同于Oracle以前的EXP。以前的EXP,如果退出交互式模式,就会出错终止导出任务。由于EXPDP是数据库内部定义的任务,已经与客户端无关,退出交互之后会进入export的命令行模式,此时支持status等查看命令:
    Export> status                 --查看当前JOB的状态及相关信息
    DATA PUMP与传统的EXP/IMP相比它还可以对正在运行的JOB进行停止和启动:
    Export> stop_job           --暂停JOB
    此时通过status命令查看到这时JOB的状态值是UNDEFINED
    Export> start_job           --重启暂停的JOB
    Export> kill_job             --取消当前的JOB并释放相关客户会话
    Export> continue_client     --通过此命令查看已连接JOB的日志
    Export> exit_client          --通过此命令退出export模式
      

  4.   

    expdp只能在服务器端运行,卡死应该是数据库问题吧。
    先用2楼语句看看有没有死锁,如果有,做相应处理(等待或者杀掉进程);
    如果没有死锁项,查看alert_oraclesid.log来查找问题
      

  5.   


    UNDO查到3个session。第三个等待是代表undo有问题吗
      

  6.   

    undo segment extension 表示在等待回滚段的动态扩展
    这表示可能事务量过大
    同时也意味着可能回滚段的大小不是最优
    MINEXTENTS设置得偏小
    考虑减少事务,或者使用最小区数更大的回滚段.
      

  7.   

    收藏的一个链接,参考
    oracle 常见等待事件及处理方法
      

  8.   

    这个有点奇怪啊,回滚空间应该足够大了,10个G,另外这是测试库就基本只有这个expdp在跑,没有使用并发。
    另外回滚段的大小和MINEXTENTS这些。这些都是自动管理的,如何增加?另外现在报另外一个错误了,direct path write 
    查了下资料为io竞争,但是服务器单,iostat 看不出任何竞争啊 SGA,PGA,也足够大,8个G了。
      

  9.   

    麻烦提供以下信息:
    1.系统版本,数据库版本
    2.expdp参数文件
    3.expdp 对象的大小
    4.hang住的时间段
    5.可以的话提供一份你HUNG 住时候的AWR 报告 和 alertLOG 文件
      

  10.   

    这个有点奇怪啊,回滚空间应该足够大了,10个G,另外这是测试库就基本只有这个expdp在跑,没有使用并发。
    另外回滚段的大小和MINEXTENTS这些。这些都是自动管理的,如何增加?另外现在报另外一个错误了,direct path write 
    查了下资料为io竞争,但是服务器单,iostat 看不出任何竞争啊 SGA,PGA,也足够大,8个G了。DIRECT PATH WRITE
    是不通过SGA 直接绕过SGA直接读取数据文件往磁盘中写,不是I/O 竞争。
      

  11.   

    1、系统版本AIX 7.1  64位, 数据库版本11.2.0.3.0
    2、expdp就是导出当前用户expdp xx/xx directory=dirct dumpfile=xx.dmp exclude=statistics
    3、expdp对象为800多个表,对象大小为几个G左右,数据结构比较复杂,分区数据量特多。
    4、hang住时间段:已经hang了6个多小时了
    undo segment extension  和direct path write 交替着,分别等待一个小时左右,大部分是undo segment extension这个等待事件。
     已经hang了6个小时了,文件没任何动静
    5、暂时没法提供AWR报告。alerlog见一楼的截图。
      

  12.   

    这个有点奇怪啊,回滚空间应该足够大了,10个G,另外这是测试库就基本只有这个expdp在跑,没有使用并发。
    另外回滚段的大小和MINEXTENTS这些。这些都是自动管理的,如何增加?另外现在报另外一个错误了,direct path write 
    查了下资料为io竞争,但是服务器单,iostat 看不出任何竞争啊 SGA,PGA,也足够大,8个G了。DIRECT PATH WRITE
    是不通过SGA 直接绕过SGA直接读取数据文件往磁盘中写,不是I/O 竞争。另外增加了undo表空间,扩大了一倍,现在为20g的undo空间了。还是一样的情况。SGA 和PGA分别设置了8个G的大小
      

  13.   

    查下你的expdp SESSION 有没有被阻塞住,如果有,查下什么SESSION 把它阻塞住了,如果没有,看看SQL_ID 有没有变化,谢谢
      

  14.   

    同时查询下你的EXPDP job 状态
    eg:
    expdp scott/tiger attach=<JOB_NAME>type > status
      

  15.   

    没有解决办法。可能是磁盘本身的IO问题。换了环境就是OK 的。
      

  16.   


    版主,如果是导入呢。dba_datapump_sessions 这个查不到内容?