ORA-56935


ORA-56935

1 現象

連接到: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
ORA-39006: 內部錯誤
ORA-39065: DISPATCH 中出現意外的主進程異常錯誤
ORA-56935: 現有數據泵作業正在使用其他版本的時區數據文件
ORA-06512: 在 "SYS.DBMS_DST", line 1864
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: 在 "SYS.DBMS_DST", line 1827
ORA-06512: 在 "SYS.KUPM$MCP", line 20451
ORA-06512: 在 "SYS.KUPM$MCP", line 13058
ORA-06512: 在 "SYS.KUPM$MCP", line 12434
ORA-06512: 在 "SYS.KUPM$MCP", line 15078
ORA-06512: 在 "SYS.KUPM$MCP", line 10314

ORA-39097: 數據泵作業出現意外的錯誤 -56935

2 原因

之前一次的datapump操作沒有正常退出,比如強制退出的。沒有清除DST_UPGRADE_STATE. 當執行多個job 同時導入時也有可能導致此問題。 這是BUG 11836540. 據MOS文檔中說明,在12.2 中已經被修復。但是我在19C 中仍遇到。

3 解決

如果有,進入到pdb操作。

col property_name for a30
col value for a12
SELECT PROPERTY_NAME, SUBSTR (property_value, 1, 30) value
FROM   DATABASE_PROPERTIES
WHERE  PROPERTY_NAME= 'DST_UPGRADE_STATE'
ORDER  BY PROPERTY_NAME;


PROPERTY_NAME                  VALUE
------------------------------ ------------
DST_UPGRADE_STATE              DATAPUMP(1)

從上面查詢的結果可以看到,DST_UPGRADE_STATE 的 value 值是DATAPUMP(1), 正常應該是NONE. 下面進行修復:

SQL> ALTER SESSION SET EVENTS '30090 TRACE NAME CONTEXT FOREVER, LEVEL 32';

會話已更改。

SQL> exec dbms_dst.unload_secondary;

PL/SQL 過程已成功完成。

再次查看 DST_UPGRADE_STATE的值:

SQL> col property_name for a30
SQL> col value for a12
SQL> SELECT PROPERTY_NAME, SUBSTR (property_value, 1, 30) value
  2  FROM   DATABASE_PROPERTIES
  3  WHERE  PROPERTY_NAME ='DST_UPGRADE_STATE'
  4  ORDER  BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ------------
DST_UPGRADE_STATE              NONE

修改完成后,再次導入執行成功。

4 參考文檔

MOS ID 1307959.1 。

Author: halberd.lee

Created: 2020-08-14 Fri 09:50

Validate


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM