プロが教えるわが家の防犯対策術!

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

よろしくお願いします。

A 回答 (2件)

No.1でも書いたのですがimpdpコマンドのパラメータでTABLE_EXISTS_ACTIONがあります。


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

参考URL:http://otn.oracle.co.jp/
    • good
    • 0

EMなどからインポートしたことが無いので間違えているかも知れませんが、インポートする場合にインポートするテーブルが存在すると、デフォルトではエラー(スキップ)になります。


truncateではデータが切り捨てられますが、テーブルは残ったままです。
これが原因ではないでしょうか?
テーブルを削除(drop table PERSON purge)などをしてから行えばできると思います。
#コマンドだとTABLE_EXISTS_ACTIONパラメータがあるんですが・・・。
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2006/08/26 16:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す