Oracle Data Pump を使用して一貫性のあるエクスポートを取得するにはどうすればよいですか?

Oracle Data Pump を使用して一貫性のあるエクスポートを取得するにはどうすればよいですか?

をエミュレートするスキーマから一貫性のあるエクスポート (データ ポンプを使用) を取得しようとしていますCONSISTENT=Y。現在、次のようにデータ ポンプを実行しています。

'/ 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、もちろん、エクスポート時に制約が検証されている場合:

  • なぜこのようなことが起こるのでしょうか?
  • 解決するための提案はありますか?

答え1

問題の解決策を見つけました。現在のタイムスタンプを正確に入力しました。

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

もっと早いタイムスタンプ(たとえば 5 分前)を設定すると、完璧に動作します...

答え2

エクスポートするスキーマ ('arrels') に、他のスキーマ内のオブジェクトを参照する参照制約がないことを確認してください。arrels スキーマ内の 1 つ以上の外部キー参照が他のスキーマ内のテーブルを参照している場合は、それらもエクスポート/インポートする必要があります。

編集: ドキュメントには、フラッシュバック時間を二重引用符で指定する必要があることが示されているようです。例:

'...フラッシュバック時間='"2009-06-03 12:00:02"'

私が遭遇した別の例は、TO_TIMESTAMP 関数を使用するものでした。

exp system/manager ファイル=exp.dmp flashback_time=\"TO_TIMESTAMP('19-06-2004 13:24:26', 'DD-MM-YYYY HH24:MI:SS')\"

また、これを使用するには、自動元に戻す管理を有効にする必要があります。

関連情報