Oracle11gでexpを行うとテーブルが抜けていた。
なんでも、何かデータが一度でも入っていないテーブルは抜き出せないとの事。
Oracle11g以降は今後、データ移行はData Pumpになるみたいです。
従来のexp/impは廃止されているわけでなく、
下位バージョンのデータ移行用のために残されます。
試してみたところ、
expdpとimpdpを使ってデータ移行を行うと1/3くらいの時間で移行できるようになりました。
それでは、エクスポートとインポートの手順を紹介します。
★全体モード
expdp <ユーザ名>/<パスワード> FULL=Y dumpfile=<出力ファイル名>
impdp <ユーザ名>/<パスワード> FULL=Y dumpfile=<出力ファイル名>
★スキーマモード
expdp <ユーザ名>/<パスワード> SCHEMAS=<スキーマ名>,<スキーマ名>・・・ dumpfile=<出力ファイル名>
impdp <ユーザ名>/<パスワード> SCHEMAS=<スキーマ名>,<スキーマ名>・・・ dumpfile=<出力ファイル名>
★表領域モード
expdp <ユーザ名>/<パスワード> TABLESPACES=<表領域名>,<表領域名>・・・ dumpfile=<出力ファイル名>
impdp <ユーザ名>/<パスワード> TABLESPACES=<表領域名>,<表領域名>・・・ dumpfile=<出力ファイル名>
★表モード
expdp <ユーザ名>/<パスワード> tables=<テーブル名>,<テーブル名>・・・ file=<出力ファイル名>
impdp <ユーザ名>/<パスワード> tables=<テーブル名>,<テーブル名>・・・ file=<出力ファイル名>
■主なオプション
★logfile オプション
ログファイルを出力する場合:「 logfile = scott_expdp.log 」のようにオプションを追加する。
ログを明示的に指定しない場合:「 export.log 」 がディレクトリオブジェクトのパスに出力される。
★content オプション
定義のみをエクスポート:「 content=metadata_only 」
データのみをエクスポート:「 content=data_only 」
※ オプションを指定しない場合、デフォルトの「 content=all 」となる。
★estimate_only オプション
ディスク領域見積もりだけ行う(エクスポートは行わない):「 estimate_only=y 」
★exclude オプション
特定のオブジェクトだけを除外可能。
emp テーブルのみ除外: 「 exclude=TABLE:\”LIKE \’EMP%\’\” 」
インデックスのみ全て除外: 「 exclude=INDEX 」
★tables オプション
emp テーブルのみ: 「 tables=scott.emp 」
テーブル名指定時でもスキーマ名は必須
PR