DataPump遭遇ORA-06512&ORA-39080&ORA-01403錯誤案例

来源:https://www.cnblogs.com/kerrycode/archive/2019/08/19/11377646.html
-Advertisement-
Play Games

最近使用數據泵(DataPump)比較多,遇到了奇奇怪怪的問題,似乎Apply了補丁PSU 10.2.0.5.180717後,DataPump的問題就格外多。如下所示: expdp system/xxx DIRECTORY=DUMPDIR DUMPFILE=xxxx.dmp TABLES=xxxx.... ...


最近使用數據泵(DataPump)比較多,遇到了奇奇怪怪的問題,似乎Apply了補丁PSU 10.2.0.5.180717後,DataPump的問題就格外多。如下所示:

 

expdp system/xxx DIRECTORY=DUMPDIR DUMPFILE=xxxx.dmp TABLES=xxxx.xxxx  LOGFILE=expdp.log 
 
Export: Release 10.2.0.5.0 - 64bit Production on Monday, 19 August, 2019 9:52:07
 
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
 
Connected to: Oracle Database 10g Release 10.2.0.5.0 - 64bit Production
ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_TABLE_01 for user SYSTEM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT_INT", line 672
ORA-39080: failed to create queues "" and "" for Data Pump job
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPC$QUE_INT", line 1606
ORA-01403: no data found

 

遇到這個錯誤,最開始我以為是我之前遇到的是同一個問題“Expdp 導數錯誤 ORA-00832”,檢查發現__streams_pool_size大小不為0

 

SQL> col name for a36;
SQL> col value for a10;
SQL> col idfefault for a10;
col ismod for a10;
col isadj for a10;
SQL> SELECT X.ksppinm      name       ,
       Y.ksppstvl     value      ,
       Y.ksppstdf     idfefault  ,
       DECODE(bitand(Y.ksppstvf,7), 1, 'MODIFIED', 4, 'SYSTEM_MOD', 'FALSE')  ismod,
       DECODE(bitand(Y.ksppstvf,2), 2, 'TRUE', 'FALSE')  isadj
FROM sys.x$ksppi  X,
     sys.x$ksppcv Y
WHERE X.inst_id = userenv('Instance') AND
      Y.inst_id = userenv('Instance') AND
      X.indx    = Y.indx              AND
      X.ksppinm LIKE '%_streams%'
ORDER BY translate(X.ksppinm, '_', ''); 
 
NAME                                 VALUE      IDFEFAULT  ISMOD      ISADJ
------------------------------------ ---------- ---------- ---------- ----------
__streams_pool_size                  33554432   FALSE      FALSE      FALSE
_memory_broker_shrink_streams_pool   900        TRUE       FALSE      FALSE
_disable_streams_pool_auto_tuning    FALSE      TRUE       FALSE      FALSE
_streams_pool_max_size               0          TRUE       FALSE      FALSE

 

 然後開啟跟蹤'1403 trace name errorstack level 3',執行導出命名後,然後關閉跟蹤'1403 trace name errorstack off'

 

SQL> alter system set events '1403 trace name errorstack level 3';

 

System altered.

 

run the expdp command

 

SQL> alter system set events '1403 trace name errorstack off';

 

System altered.

 

查看trace文件,如下截圖所示,提示ksedmp:internal or fatal error" ,搜索了一下metalink,發現還真有一模一樣的錯誤

 

clip_image001

 

 

但是這個案例中,在驗證表結構時,發現表不存在,所以必須reload the DataPump utility reload the DataPump utility候就能正常的導入導出了。

 

 

SQL> analyze table kupc$datapump_quetab validate structure;

analyze table kupc$datapump_quetab validate structure

              *

ERROR at line 1:

ORA-00942: table or view does not exist

 

具體的官方文檔如下所示:

 

DataPump Import Or Export (IMPDP/EXPDP) Fails With Errors ORA-31626 ORA-31637 (文檔 ID 345198.1)

 

APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.1.0.4 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.


SYMPTOMS

Trying to execute the DataPump export or import ends with errors like:

ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_FULL_01 for user SYSTEM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT_INT", line 601
ORA-39080: failed to create queues "" and "" for Data Pump job
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPC$QUE_INT", line 1550
ORA-01403: no data found


You can also see errors like:

ORA-39006 - internal error
ORA-39065: unexpected master process exception in DISPATCH
ORA-01403: no data found
ORA-39097: Data pump job encountered unexpected error 100

CHANGES

 

CAUSE

Such errors typically happen in instances with incorrectly configured Advanced Queueing (AQ).

SOLUTION

To resolve the issue, follow the steps below:

1. Set the error stack 1403 event to know exactly which SQL is failing:

connect / as sysdba
alter system set events '1403 trace name errorstack level 3';

 

NOTE:
In databases that are heavy loaded, setting this event will produce many trace files. It is recommended to set this when the database is not intensively used.


Then re-run the DataPump export/import to reproduce the error and then disable the events.

alter system set events '1403 trace name errorstack off';


2. Once the trace file reveals the problematic SQL, check for the existence of table KUPC$DATAPUMP_QUETAB using DBA_OBJECTS.

3. If present, then run:

connect / as sysdba
analyze table kupc$datapump_quetab validate structure;


4. If not present or it errors out in step 3, then reload the DataPump utility as described in Note 430221.1.


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Win10系統自帶放大鏡有時真的是比較難使用的,但是如果你對他的快捷鍵有所瞭解之後就會感覺它其實也沒有那麼難,用戶可以在使用完之後直接按快捷鍵將其關閉,一起看看吧。 Win10系統放大鏡快速關閉快捷鍵 Win+Esc:關閉放大鏡 Win+減號:縮小(放大鏡) Win+加號:放大(放大鏡) Win10 ...
  • 添加路由命令: route add 192.168.4.0 mask 255.255.255.0 192.168.4.1 metric 20 if 11 -p 其中192.168.4.0 是網路目標,mask後是網路掩碼,掩碼後是網關,metric是路由演算法用以確定到達目的地的最佳路徑,設置時可以自 ...
  • 前言: 一致性是指在事務開始之前和事務結束以後,資料庫的完整性約束沒有被破壞。這是說資料庫事務不能破壞關係數據的完整性以及業務邏輯上的一致性。 例子: 對銀行轉帳事務,不管事務成功還是失敗,應該保證事務結束後ACCOUNT表中A和B的存款總額為x元不變。 Isolation 隔離性: 資料庫允許多個 ...
  • ```sql declare @TableName sysname = 'TableName' declare @Result varchar(max) = 'public class ' + @TableName + ' {' select @Result = @Result + ' public... ...
  • 讀取: 1) 客戶端調用 DistributedFileSystem 的 Open() 方法打開文件。2) DistributedFileSystem 用 RPC 連接到 NameNode,請求獲取文件的數據塊的信息;NameNode 返迴文件的部分或者全部數據塊列表;對於每個數據塊,NameNod ...
  • 1、資料庫的ACID 在資料庫中,事務是要滿足ACID的,即A: 原子性、C:一致性、I:隔離性、D:持久性。其中隔離性是最放鬆的一個,可以利用資料庫鎖的機制或者版本並控制機制獲取更高的隔離級別,但是隨著隔離級別的提高,數據的併發能力有所下降。因此如何在並行和隔離性之間做一個權衡是一個至關重要的問題 ...
  • 通過https://www.cnblogs.com/tree1123/p/11243668.html 已經對consumer有了一定的瞭解。producer比consumer要簡單一些。 一、舊版本producer 0.9.0.0版本以前,是由scala編寫的舊版本producer。 入口類:kaf ...
  • 在業務處理需要使用new Date()來更新時間類型的欄位時,資料庫會對時間類型進行四捨五入處理,如果new Date()的更新時間與原時間間隔太短,資料庫進行四捨五入之後,認為值沒有變化,從而不更新數據 導致業務失敗。 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...