
中山テック 代表の中山です。
さて、前回のOracleのDataPumpの使い方(基礎編)では
DataPumpのコマンドを打つまでの手順、構文をお伝えしました。
今回は応用編となりますが、実際はオプションの使い方のご説明となります 汗
1つのみ指定可能なオプションと、共通オプションがあります。
前者は4つあるうちから1つのみ選べます。
一つ指定可能なオプション
①full:データベース全体をエクスポート
②tablespaces:対象表領域単位でエクスポート
③schemas:スキーマ単位でエクスポート
④tables:テーブル単位でエクスポート(複数指定時はカンマ区切り)
共通オプション
①directory:エクスポートファイルを作成するディレクトリを指定できる
②dumpfile:エクスポートしたデータのファイル名を指定できる
③logfile:エクスポート時のログファイル名を指定できる
④content:エクスポート対象を指定できる
(data_only:表データのみ、metadata_only:オブジェクト定義のみ、all:定義とデータ)
⑤estimate_only:エクスポートを実行せず、ディスク容量の見積だけを行う
⑥exclude:エクスポートから除外したいオブジェクトを指定する
⑦parfile:パラメータファイルを指定する
例)
expdp userid/password@dbname tables=USER_TABLE directory=DIRECTORY dumpfile=dumfile.dmp logfile=logfile.log content=data_only statistics=none
※赤文字・・・1つのみ指定可能なオプション
※青文字・・・共通オプション
システム開発において、ログファイルとエクスポートファイル、ディレクトリは指定すると思います。
また、レコード取得したいだけであればテーブル名を指定する位で十分かと思われます。
- 【WinMerge】ファイルの差分を確認する便利ツール~古いファイルとのdiffを取る~
- ファイル名を検索・置換(リネーム)し、別フォルダに格納するツール【VBS】
- Excel(エクセル)印刷のコツ~改ページプレビュー見ながら範囲を指定~
- JavaScriptでデバッグ~プログラムエラー発生した時の解決に繋がる~
- VMWare × CentOSの環境にSSH通信する方法~TeraTermを例にログイン~
- XSERVERにSSH通信でアクセスする方法~公開鍵と秘密鍵を作成することが必須~
- Excelで連番を振る方法についてのブログはnoteに移動しました【リンクあり】
- PostgreSQLのレプリケーションセットの記事はnoteに移動しました【リンクあり】
- フォントをインストールする方法~Excel(エクセル)等で活用!~
- 画像がぼやけてしまう時の対処法~ホームページ制作時の画像貼り付けのコツ~
SQLの指定
expではいともたやすく行われてましたが、実はexpdpでもいともたやすく行えます。
構文としては、どこでもいいのでquery=\"where句\"を入れてください。
※説明するまでもないですが、「¥」はエスケープ文字です
例)
query=\"where DELETE_FLAG = \'0\'\"
※論理削除フラグが立っていないレコードを対象とする、という具合に
ちなみに、条件は指定できてもレコードの指定はできません。
スピード感
どのぐらいの速さでエクスポート出来るのでしょうか。
それに関する質問は、当然ですが環境により異なります。
ですが、このご時世にユーザーが使用するサーバのスペックが低いようでは意味がありません。
ですので、1000万件あったとしても10分は掛からずエクスポート出来るのではないでしょうか。
私が経験したのは、そこまで良いスペックでなくても400万件のレコードをエクスポートするのに1分でした。
まとめ
確かに、普段使用していたexpに比べて高速であることはわかりました。
ただ、少ない件数であればサポートが切れているとはいえexpで十分とも感じています。
ちなみにメリット・デメリットが
■メリット
・expdp・・・高速である
・exp・・・使いやすい(イメージ的に)
■デメリット
・expdp・・・expに使い慣れている場合は使いにくい
・exp・・・expdpに比べると遅い
多少面倒な部分もありますが、是非使用してみてください。