Oracle

如何使用 Oracle Data Pump 獲得一致的導出?

  • June 5, 2009

我正在嘗試從模擬CONSISTENT=Y. 目前我正在以這種方式執行數據pumb:

'/ AS SYSDBA' schemas=arrels dumpfile=arrels.dmp nologfile=y flashback_time='2009-06-03 12:00:02' 

但是在導入時顯示關於不一致的錯誤:

ORA-02298: cannot enable name - parent keys not found

如果數據泵導出正在使用flashback_time,當然,約束在導出時間上得到驗證:

  • 為什麼會這樣?
  • 有什麼建議可以解決嗎?

我找到了問題的答案。我準確地輸入了目前時間戳:

flashback_time='2009-06-03 12:05:02'

如果我輸入一個更早的時間戳(例如 5 分鐘前),它就可以完美地工作……

您確定要導出的模式(“arrels”)沒有引用其他模式中的對象的引用約束嗎?如果 arrels 架構中的一個或多個外鍵引用引用其他架構中的表,那麼您也必須導出/導入它們。

編輯:文件似乎表明您需要用雙引號指定閃回時間,例如:

‘… flashback_time=’“2009-06-03 12:00:02”’

我遇到的另一個例子是使用 TO_TIMESTAMP 函式:

exp 系統/管理器文件=exp.dmp flashback_time="TO_TIMESTAMP(‘19-06-2004 13:24:26’, ‘DD-MM-YYYY HH24:MI:SS’)"

此外,您必須啟用自動撤消管理才能使用它。

引用自:https://serverfault.com/questions/18850