EXPDP導數報ORA-00942案例

来源:https://www.cnblogs.com/kerrycode/archive/2019/07/27/11254467.html
-Advertisement-
Play Games

使用數據泵(expdp)導數時遇到了ORA-31626 & ORA-00942 錯誤,資料庫版本為Oracle Database 10g Release 10.2.0.5.0,具體錯誤如下所示: $ expdp system/xxx tables=xxx.xxx directory=DUMPDIR ... ...


使用數據泵(expdp)導數時遇到了ORA-31626 & ORA-00942 錯誤,資料庫版本為Oracle Database 10g Release 10.2.0.5.0,具體錯誤如下所示:

 

$ expdp system/xxx tables=xxx.xxx directory=DUMPDIR dumpfile=xxxx.dmp logfile=xxx.log;
 
Export: Release 10.2.0.5.0 - 64bit Production on Saturday, 27 July, 2019 10:39: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-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist

 

檢查驗證發現表確實是存在的,搜索metalink,發現官方文檔有介紹:DataPump Export (EXPDP) Reports ORA-942 Even If Table Exists (Doc ID 1371613.1),下麵的的操作步驟基本按照官方文檔的介紹處理:

 

 

 

在資料庫開啟跟蹤

 

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

 

System altered.

 

然後使用expdp命令導數

 

在資料庫關閉跟蹤

 

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

 

System altered.

 

檢查告警日誌,就能發現對應的跟蹤文件,如下所示:

 

 

Errors in file /u01/app/oracle/admin/epps/udump/epps_ora_15524.trc:

ORA-00942: table or view does not exist

Sat Jul 27 10:39:08 CST 2019

The value (30) of MAXTRANS parameter ignored.

 

在跟蹤文件,我們會發現PL/SQL Call Stack信息。這個跟官方文檔的內容有所差別,這個也正常,一模一樣的錯誤信息還是很少見的。

 

clip_image001

 

 

根據官方文檔提示, 這個是因為DataPump內部包損壞了(damaged DataPump internal package),如果查單純看包'DBMS_DATAPUMP',發現其狀態是VALID,對這些沒有多少研究。所以不清楚更深一層次的原因!

 

SQL> select owner
  2      , object_name
  3      , object_type
  4      , status 
  5  from  dba_objects where object_name='DBMS_DATAPUMP';
 
OWNER                          OBJECT_NAME              OBJECT_TYPE         STATUS
------------------------------ ------------------------ ------------------- -------
SYS                            DBMS_DATAPUMP            PACKAGE             VALID
SYS                            DBMS_DATAPUMP            PACKAGE BODY        VALID
PUBLIC                         DBMS_DATAPUMP            SYNONYM             VALID
 
SQL> 

 

官方文檔"How To Reload Datapump Utility EXPDP/IMPDP (文檔 ID 430221.1)"給出瞭如何解決這個問題(個人根據下麵步驟解決了這個問題):

 

 

NOTE:
For running catproc.sql, please refer to
Note 863312.1
- Best Practices for running catalog, catproc and utlrp script

  • The catalog or catproc script should be run after the database has been opened with startup migrate or startup upgrade depending on version.
  • The catalog and catproc script should not be run when the database is opened with unrestricted access.?
    This can cause the database to experience performance issues and can even lead to a hanging situation.

In some cases DataPump utility may get corrupted and we need to recreate DataPump utility to overcome internal corruption. To do this, run specified scripts for Oracle version that you are running as given below.

Note:  Run the following as sysdba user:

SQL> connect / as sysdba


For Oracle version 10.1 :

-- 1. Catdp.sql orders the installation of all its components including the Metadata API which was previously installed separately. By default catproc.sql invoke this script.

SQL> @$ORACLE_HOME/rdbms/admin/catdp.sql


-- 2. dbmspump.sql will create DBMS procedures for dataPUMP

SQL> @$ORACLE_HOME/rdbms/admin/dbmspump.sql

 
For Oracle version 10.2:

-- 1.Catdph.sql will Re-Install DataPump types and views

SQL> @$ORACLE_HOME/rdbms/admin/catdph.sql


-- Note:
-- If XDB is installed, then it is required to run "catmetx.sql" script also.
-- Use this code to verify if XDB is installed:

SQL> select substr(comp_name,1,30) comp_name,
     substr(comp_id,1,10) comp_id,
     substr(version,1,12) version,
     status
     from dba_registry;

-- Sample output if XDB installed,
Oracle XML Database    XDB    -version-    VALID


-- 2.prvtdtde.plb will re-install tde_library packages

SQL> @$ORACLE_HOME/rdbms/admin/prvtdtde.plb


-- 3. Catdpb.sql will Re-Install DataPump packages

SQL> @$ORACLE_HOME/rdbms/admin/catdpb.sql


-- 4.Dbmspump.sql will Re-Install DBMS DataPump objects

SQL> @$ORACLE_HOME/rdbms/admin/dbmspump.sql


-- 5. To recompile  invalid objects, if any

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

 
For Oracle version 11g and higher prior to 12c:

 

-- 1.Catproc.sql

SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql


-- 2.To recompile invalid objects, if any

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

 

For Oracle version 12c:

Note 1: Prior rebuilding DP catalog in 12.1.0.2 CDB , install?Patch 25139545 as alerted in?Document 2175021.1 - "Alert - Multitenant Customers: The objects created by the post-install steps of 12.1.0.2 Generic DataPump Patches Are not Shared Across All PDBS".

Note 2: For issues regarding KU$ Invalid Objects Owned by SYS after upgrading or applying datapatch, refer to?Document 2289785.1 to rebuild Datapump.

 

Rebuild the DataPump packages with the following steps.

Under the ORACLE_HOME, execute:
cd rdbms/admin

-- run the dpload.sql in the CDB with all of the PDBs open

From a SQL*Plus session, connect as sysdba

and then run dpload.sql:

@dpload.sql

on the affected database.

Note: If DataPump catalog is not valid in a PDB, same step should be executed to validate the DP catalog on a pluggable database.

 
Additional Resources

Community: Database Utilities

Still have questions? Use the above community to search for similar discussions or start a new discussion on this subject.

 

參考資料:

 

       DataPump Export (EXPDP) Reports ORA-942 Even If Table Exists (Doc ID 1371613.1)

How To Reload Datapump Utility EXPDP/IMPDP (文檔 ID 430221.1)


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

-Advertisement-
Play Games
更多相關文章
  • hostname #電腦名 passwd #修改密碼 reboot #重啟 shutdown –r now #立刻重啟(root用戶使用) shutdown –r 10 #過10分鐘自動重啟(root用戶使用) shutdown –r 18:00 #在時間為18:00的時候重啟(root用戶使用) ...
  • man 有兩個選項: 當我們使用的時候,如果沒有建立whatis 資料庫 就會出現 nothing appropriate 的信息; 我們可以使用 makewhatis 來更新; 當然也可以使用 mandb 命令: 之後你就可以進行使用關鍵字進行搜索了; 簡單記錄,防止遺忘;如果對您有幫助,請點擊推 ...
  • 硬體配置: CPU:i5 9400f 主板:微型msi迫擊炮B360 記憶體:威剛 ddr4 8g 2133 *2 顯卡:技嘉1050ti 4g 顯示器:koiso 4K (使用的dp介面連接,hdmi介面直接黑屏) 硬碟:海康視威c2000 256g + 三星256G固態(裝win10) 藍牙接收器 ...
  • 使用CentOS7搭建OwnCloud私有雲(LAMP環境),不關閉SELinux。 ...
  • 1. linux 目錄解釋系統啟動必須: /boot:存放的啟動 Linux 時使用的內核文件,包括連接文件以及鏡像文件。 /etc:存放所有的系統需要的配置文件和子目錄列表,更改目錄下的文件可能會導致系統不能啟動。 /lib:存放基本的動態連接共用庫(比如c++庫),其作用類似於Windows里的 ...
  • 大概在一周前看了燕十八老師講解的mysql資料庫視頻,也跟著學了一周,我就想把我這一周所學的知識跟大家分享一下;因為是第一次寫博客,所以可能會寫的很爛,請大家多多包涵。文章中有不對的地方還請大家指出來,我會加以改正。 我們先來學習對資料庫進行連接並且對錶進行最基本的增刪改查: 先來進行對資料庫伺服器 ...
  • [學習筆記] parallelize並行化集合是根據一個已經存在的Scala集合創建的RDD對象。集合的裡面的元素將會被拷貝進入新創建出的一個可被並行操作的分散式數據集。例如:val rdd03 = sc.parallelize(List(1, 4, 3, 7, 5)) 根據系統環境來進行切分多個s ...
  • 資料庫 創建資料庫: 指定用戶名創建資料庫: 刪除資料庫: 訪問資料庫: 互動式環境下資料庫內執行 會進入到一個新頁面,要返回按 退出資料庫: 、`exit quit` 表 創建表: 查看表結構: 創建表時 表示註釋, 到行尾的東西都會被忽略 刪除表: 表中增加行: 命令可以一次性向表中裝填大量數據 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...