如何使用Oracle Data Pump获得一致的导出?

我试图从模拟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并且当然在导出时间上validation约束:

  • 为什么发生这种情况?
  • 任何build议来解决它?

我find了问题的答案。 我把目前的时间戳:

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

如果我把一个更快的时间戳(例如5分钟之前),它完美的作品…

你确定你正在导出的模式('arrels')没有引用其他模式中的对象的引用约束吗? 如果arrels模式中的一个或多个外键引用引用了其他模式中的表,那么您也必须导出/导入它们。

编辑:文档似乎表明你需要指定在双引号闪回时间,例如:

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

我遇到的另一个例子是使用TO_TIMESTAMP函数:

exp system / manager file = exp.dmp flashback_time = \“TO_TIMESTAMP('19-06-2004 13:24:26','DD-MM-YYYY HH24:MI:SS')\”

此外,您必须启用自动撤消pipe理才能使用此function。