欢迎光临
我们一直在努力

数据泵导出时报ORA-31623、ORA-06512问题的解决


问题描述

      同事反应数据库在使用数据泵导出时,导出报UDE-31623、ORA-31623、ORA-06512,大致如下:

告警日志信息大致如下:


处理过程

    (1)第一步,

我以为是streams pool size不足或者是sga分配不足导致的,查询后发现sga分配了64G,同时


streams pool size = 256M;故内存分配不足的问题呗排除了;


   (2)第二步,根据MOS文档(

文档 ID 1907256.1

)来逐一排查,均排除了因对象失效等原因;


   (3)第三步,在排查dba_datapump_jobs视图时,发现里面有340多个终止任务,这个失败的数量令我吃惊,因为正常情况下这个视图下不会有这么多被终止的任务,于是尝试清理这些失败任务:


 

SELECT o.status,

       o.object_id,

       o.object_type,

       o.owner || '.' || object_name "OWNER.OBJECT"

  FROM dba_objects o, dba_datapump_jobs j

 WHERE o.owner = j.owner_name

   AND o.object_name = j.job_name

   AND j.job_name NOT LIKE 'BIN$%'

 ORDER BY 4, 2;

根据查询出来的对象,我们使用drop table XXX purge 进行逐一删除,也可以通过脚本进行批量删除;待所有的被终止的对象删除之后,再次尝试数据泵导出,惊喜地发现已经可以 正常导出了。


总结

     由此可见,此次故障的原因是

dba_datapump_jobs里面的被终止对象太多,我们将其删除后,问题即可得到解决。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。