質問: 【oracle10g 】oracle enterprise managreでの表のインポート 資格取得の為に、体験版を操作しながら勉強しています。oracle enterprise managreで、表をエクスポートし、一度表を削除(truncate)して、インポートしようとしています。 画面上、インポートは正しく行われているみたいですが、データが戻ってません。 ログには ora-39111: dependent object type table_statistics skipped, base object type table:"toshihiro"."person" already exists job "toshihiro"."import000252" completed with 2 error(s) at 20:11 と、あります。 ネットで検索すると、以下を見つけましたが、具体的にどのような処理をすれば良いのかわかりません。 ora-39111: 依存オブジェクト型stringはスキップされ、ベース・オブジェクト型stringはすでに存在します。 原因: ベース・オブジェクトがすでに存在するため、data pumpインポート・ジョブの実行中に依存オブジェクトがスキップされています。 処置: ダンプ・ファイルからのオブジェクトを必要とする場合は、ベース・オブジェクトと依存オブジェクトを削除し、適切なフィルタを使用してインポートを再試行してください。 よろしくお願いします。
回答: emなどからインポートしたことが無いので間違えているかも知れませんが、インポートする場合にインポートするテーブルが存在すると、デフォルトではエラー(スキップ)になります。 truncateではデータが切り捨てられますが、テーブルは残ったままです。 これが原因ではないでしょうか? テーブルを削除(drop table person purge)などをしてから行えばできると思います。 #コマンドだとtable_exists_actionパラメータがあるんですが・・・。