こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【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インポート・ジョブの実行中に依存オブジェクトがスキップされています。
処置: ダンプ・ファイルからのオブジェクトを必要とする場合は、ベース・オブジェクトと依存オブジェクトを削除し、適切なフィルタを使用してインポートを再試行してください。

よろしくお願いします。

投稿日時 - 2006-08-20 20:36:54

QNo.2351538

暇なときに回答ください

質問者が選んだベストアンサー

No.1でも書いたのですがimpdpコマンドのパラメータでTABLE_EXISTS_ACTIONがあります。
TABLE_EXISTS_ACTION=APPENDで表が存在してもインポートすることが可能です。(デフォルトは通常SKIP)
資格取得の為の勉強なら、oracleのマニュアルを参照されたほうが良いと思います。
OTN(参考URL参照、要ユーザ登録(無料))でマニュアルがダウンロードできるので、見てはどうでしょうか?

参考URL:http://otn.oracle.co.jp/

投稿日時 - 2006-08-28 23:42:57

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

EMなどからインポートしたことが無いので間違えているかも知れませんが、インポートする場合にインポートするテーブルが存在すると、デフォルトではエラー(スキップ)になります。
truncateではデータが切り捨てられますが、テーブルは残ったままです。
これが原因ではないでしょうか?
テーブルを削除(drop table PERSON purge)などをしてから行えばできると思います。
#コマンドだとTABLE_EXISTS_ACTIONパラメータがあるんですが・・・。

投稿日時 - 2006-08-21 12:36:33

お礼

表を削除するとインポートできました。
表が残ったままだとインポートできないのですね。

表を残したままインポートするコマンド等はありますでしょうか?

ありがとうございました。

投稿日時 - 2006-08-26 16:32:44

あなたにオススメの質問