Oracle impdb コマンドの tables 指定[データベース]
(2018-10-12 08:50:28) by shinoda


< ページ移動: 1 2 >

テスト用データを Oracle DB にセットアップする必要があったんで、本番DBのバックアップファイルから impdb コマンドでインポートをしようかと。
全部のテーブルではなく、必要なのは3つだけなので、以下のようなコマンドを実行。

impdb HOGE/HOGEPW@HOGEDB directory=backup_dir dumpfile=backup.dmp table_exists_action=replace tables=(ロケーション,IPアドレスリスト,ユーザーマスタ)

そしたら、こんなエラーが出て失敗しちゃう。

ORA-39002: 操作が無効です
ORA-39166: オブジェクトHOGE.IPアドレスリストが見つかりません。

これ、エラーになるタイミングは毎回バラバラで、

ORA-39002: 操作が無効です
ORA-39166: オブジェクトHOGE.IPアドレスリストが見つかりません。
ORA-39166: オブジェクトHOGE.ユーザーマスタが見つかりません。

こういうときもある。
別にテーブル名が問題なわけではなく、

impdb HOGE/HOGEPW@HOGEDB directory=backup_dir dumpfile=backup.dmp table_exists_action=replace tables=(IPアドレスリスト)

こんな感じで、エラーになったテーブル単体でインポートすると、

. . "HOGE"."IPアドレスリスト"    12.3MB   12034行がインポートされました

こんな具合に成功する。カンマ区切りで複数テーブルを指定したときだけ問題。
でも、英語名のテーブルではエラーにならないんで、やっぱ日本語名なのが問題なんだろうなあと思って、

< ページ移動: 1 2 >


コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8