Expdp使用version參數時,報ORA-39373


某天晚上,同事在使用數據泵進行數據遷移的過程中遇到點問題,簡要記錄之。

 

1、概述

同事需要將一套19C數據庫中的數據遷移到COMPATIBLE=12.1.0的數據庫中,在使用數據泵導出的命令中添加了VERSION=12.1.0選項。在導出的日志中有幾條ORA-39373報錯信息。具體日志如下所示:

ORA-39373: cannot export SYSTEM_GRANT: ….. to version 12.1.0 due to long identifiers

ORA-39373: cannot export SYSTEM_GRANT: ….. to version 12.1.0 due to long identifiers

ORA-39373: cannot export INDEX_STATISTICS to version 12.1.0 due to long identifiers

 

2、從報錯的信息可以看出,由於指定了導出的版本(VERSION=12.1.0),而一些標識符太長,所以無法導出,SYSTEM_GRANT這個關鍵字,看樣子是系統權限這部分的內容;INDEX_STATISTICS應該是索引的統計信息。

 

3、同事擔心這個報錯是否會導致遷移的數據不一致,這些報錯其實可以在數據遷移后手動處理,也不會造成業務數據的不一致。數據遷移完成后,對比兩個庫中業務用戶的系統權限部分,查看目標端的業務用戶缺少哪些系統權限,手動賦予這些系統權限即可。而索引的統計信息,這本來就是需要在數據遷移完成后,手動重新收集的。

 

4、這個問題在MOS文章:12.2 DataPump Export (EXPDP) Using a Lower Export Client Fails Due To ORA-39373 (Doc ID 2369249.1)中也有說明(In 12.2 Oracle database, the maximum length of identifiers is increased to 128 bytes for most identifiers, up from 30 bytes in previous releases.)。MOS中的解決方案是對超過30個字符的數據對象進行重命名,然后重新導出。

 

 

 

 


免責聲明!

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



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