OracleのインポートでDMPテーブル空間が存在しない場合の対処法
インポート時に表領域が見つからないエラーが発生した場合は、次の手順で解決できます。
- Oracleデータベースに正しいユーザー名とパスワードでログインして、dmpファイルをインポートするときに使用するユーザー名とパスワードが正しいことを確認してください。
- インポートするファイルの表領域情報を照会するには、以下のコマンドを使用します。
impdp username/password@connect_string directory=dump_dir dumpfile=dump_file.dmp logfile=impdp.log sqlfile=impdp.sql
なお、username/password@connect_stringはデータベースにログインするユーザー名、パスワード、接続文字列、directoryは出力ファイルのディレクトリ、dumpfileは出力ファイル名、logfileはインポートのログファイルのパス、sqlfileは生成するSQLファイルのパスである。生成するSQLファイルには、インポートするファイルに含まれる表領域の情報が表示される。
- Oracleデータベースに管理者権限でログインし、生成されたSQLファイルを実行して、失われた表領域を作成します。SQLファイルをを実行するには次のコマンドを使用できます。
sqlplus username/password@connect_string @impdp.sql
username/password@connect_string は、データベースにログインするためのユーザー名、パスワード、接続文字列で、impdp.sql は生成された SQL ファイル名です。
- 表領域が存在することを確認してから、DMPファイルを再インポートします。再インポートには次のコマンドを使用できます。
impdp username/password@connect_string directory=dump_dir dumpfile=dump_file.dmp logfile=impdp.log
ここで、username/password@connect_stringはデータベースログイン用のユーザー名、パスワード、接続文字列、directoryはエクスポートするファイルのディレクトリ、dumpfileはエクスポートファイルのファイル名、logfileはインポートログファイルのパスです。
上記の手順で、表領域が存在しないという問題でDMPファイルをインポートする際に発生する問題解決に成功するでしょう。