複数のimpdpコマンド(データポンプのインポート)を一回のオペレーションで実行させるには、シェルスクリプトを使用することが一般的です。以下に具体的な例を示します。この例では、Linuxサーバ上でシェルスクリプトを作成し、複数のimpdpコマンドを順次実行します。
手順
- シェルスクリプトを作成
- 必要な
impdpコマンドをシェルスクリプト内に記述
例:シェルスクリプト
以下は、複数のimpdpコマンドを一度に実行するためのシェルスクリプトの例です。これは、異なるダンプファイルを異なるターゲットスキーマにインポートするシチュエーションを想定しています。
#!/bin/bash
# セットアップ
USERNAME="username"
PASSWORD="password"
TARGET_DB="DB23"
DIRECTORY="exp_dir"
LOG_DIR="/path/to/logs"
# インポート操作
impdp $USERNAME/$PASSWORD@$TARGET_DB schemas=Schema1 directory=$DIRECTORY dumpfile=dumpfile1.dmp logfile=$LOG_DIR/schema1_import.log remap_schema=SourceSchema1:TargetSchema1
impdp $USERNAME/$PASSWORD@$TARGET_DB schemas=Schema2 directory=$DIRECTORY dumpfile=dumpfile2.dmp logfile=$LOG_DIR/schema2_import.log remap_schema=SourceSchema2:TargetSchema2
impdp $USERNAME/$PASSWORD@$TARGET_DB schemas=Schema3 directory=$DIRECTORY dumpfile=dumpfile3.dmp logfile=$LOG_DIR/schema3_import.log remap_schema=SourceSchema3:TargetSchema3
echo "全てのインポート操作が完了しました。"
説明
USERNAMEとPASSWORD:データベースへの接続に必要なユーザー名とパスワード。TARGET_DB:インポート先のデータベース接続情報。DIRECTORY:ダンプファイルを保管するOracle DIRECTORYオブジェクトの名前。LOG_DIR:ログファイルを保管するディレクトリのパス。
それぞれのimpdpコマンドの詳細:
schemas:インポート先のスキーマ名。directory:ダンプファイルが格納されているディレクトリ。dumpfile:インポートするダンプファイルの名前。logfile:インポートプロセスのログファイルの名前。remap_schema:ソーススキーマからターゲットスキーマへのマッピング。
上記のスクリプトを使用して、異なるスキーマへのインポートをまとめて実行することができます。
スクリプトの実行
このスクリプトを実行可能なファイルにして実行します。
- ファイル作成(例:
import_all.shというファイル名にします)
vi import_all.sh
- スクリプトの内容を保存。
- 実行権限を付与
chmod +x import_all.sh
- スクリプトを実行
./import_all.sh
これにより、複数のインポート操作が順次実行されます。必要に応じて、ログファイルを確認して、各インポート操作の進行状況と結果をモニタリングすることができます。

コメント