社内SEの徒然なる日記

スキーマで抜いてテーブルを一部戻そうとしてORA-39166発生

■ ORA-39166

expdpで引っこ抜いたdmpファイルから一部のテーブルだけ取り出してimpdpを実行したのですが、ORA-39166という見慣れないエラーが発生しました。

実行時のログはこんな感じです。



;;;
Import: Release 12.1.0.2.0 - Production on 火 3月 21 15:13:58 2017

Copyright (c) 1982, 2015, Oracle and/or its affiliates. All rights reserved.
;;;
接続先: Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
マスター表"HARIDBA"."IMPDP_HARIDBA_1"は正常にロード/アンロードされました
ORA-39166: オブジェクトHARIDBA.AICTが見つからなかったか、エクスポートまたはインポートできませんでした。
ORA-39166: オブジェクトHARIDBA.AFCHが見つからなかったか、エクスポートまたはインポートできませんでした。
ジョブ"HARIDBA"."IMPDP_HARIDBA_1"が火 3月 21 15:14:00 2017 elapsed 0 00:00:01で正常に完了しました
ジョブ"HARIDBA"."IMPDP_HARIDBA_1"が火 3月 21 15:14:00 2017 elapsed 0 00:00:01で正常に完了しました



impdpは、PowerShellから実行しました。ユーザー名、パスワードはharidba、接続先はhariとして、実行する内容は、impdp_haridba_1.txt に書きます。

impdp haridba/haridba@hari parfile=D:¥impdp_haridba_1.txt


impdp_haridba_1.txt の中身は、こんな感じです。インポートするダンプファイルは、もともと別の環境(kofudb)から持ってきたものでして、スキーマが異なります。なので、REMAP_SCHEMAで kofudb → haridba と設定しています。

TABLES=(
AICT,
AFCH
)
DIRECTORY=DP_DIR
DUMPFILE=EXPDP_KOFU_0.dmp
LOGFILE=impdp_haridba_1.log
TABLE_EXISTS_ACTION=TRUNCATE
CONTENT=DATA_ONLY
JOB_NAME=IMPDP_HARIDBA_1
REMAP_SCHEMA=kofudb:haridba





■ 対応

経緯をすっ飛ばして書くと、REMAP_SCHEMA を設定して、さらにTABLESで対象テーブルの絞り込みをしたために、今回のエラーが発生したらしいです。

結局、TABLES でしたテーブル名にスキーマを追加したら問題は解決しました。ここで指定するスキーマは、dmpファイルの抽出元のスキーマです。

TABLES=(
kofudb.AICT,
kofudb.AFCH
)
DIRECTORY=DP_DIR
DUMPFILE=EXPDP_KOFU_0.dmp
LOGFILE=impdp_haridba_1.log
TABLE_EXISTS_ACTION=TRUNCATE
CONTENT=DATA_ONLY
JOB_NAME=IMPDP_HARIDBA_1
REMAP_SCHEMA=kofudb:haridba


■ 後書き

環境は、本番環境がUNIXで、テスト環境がWindows。Oracleのバージョンは同じ。本番環境で取得したdmpファイルから、一部のテーブルを取り出してテスト環境に戻せるのかっていう実験だったのです。

expdpは、こんな感じで実行しました。

expdp kofudb/kofudb@hari  parfile=/*****/expdp_kofudb.pfile



expdp_kofudb.pfile の中身です。

DIRECTORY=DP_DIR
DUMPFILE=EXPDP_KOFU_0.dmp
LOGFILE=expdp_kofudb.log
JOB_NAME=EXPDP_KOFUDB_0
SCHEMAS=kofudb


ちなみに、REMAP_SCHEMAを指定しない場合はスキーマ名を指定しなくても動いてくれました。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

コメント


管理者にだけ表示を許可する