資料泵匯出時報ORA-31623、ORA-06512問題的解決

零度的雨1205發表於2019-05-16

問題描述

      同事反應資料庫在使用資料泵匯出時,匯出報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裡面的被終止物件太多,我們將其刪除後,問題即可得到解決。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902769/viewspace-2644617/,如需轉載,請註明出處,否則將追究法律責任。

相關文章