中山テック 代表の中山です。
さて、前回の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つのみ指定可能なオプション
※青文字・・・共通オプション
システム開発において、ログファイルとエクスポートファイル、ディレクトリは指定すると思います。
また、レコード取得したいだけであればテーブル名を指定する位で十分かと思われます。
- データベースを学ばないと後悔する理由4選
- gmailの受信トレイを指定のラベルに振り分ける~カテゴリ分けして効率化を図る~
- SES(SIer)がキツく感じる理由7選
- zabbixをVMWareのゲストOSに構築~ブラウザからファイアウォール通過してアクセス~
- 【JavaScript】wordpressのカテゴリを判断して出し分けする方法
- 各プログラミング言語のHelloWorldをご紹介
- JavaScriptで画像をランダム表示~様々な種類の広告や記事の見出しを見せたい等~
- タイムカードはExcel(エクセル)で超カンタンに作れます!~労働時間管理~
- 使わなくなった古いパソコンにLinux(Ubuntu)を入れる方法
- USBメモリを使ってWindowsを再インストール
SQLの指定
expではいともたやすく行われてましたが、実はexpdpでもいともたやすく行えます。
構文としては、どこでもいいのでquery=\"where句\"を入れてください。
※説明するまでもないですが、「¥」はエスケープ文字です
例)
query=\"where DELETE_FLAG = \'0\'\"
※論理削除フラグが立っていないレコードを対象とする、という具合に
ちなみに、条件は指定できてもレコードの指定はできません。
スピード感
どのぐらいの速さでエクスポート出来るのでしょうか。
それに関する質問は、当然ですが環境により異なります。
ですが、このご時世にユーザーが使用するサーバのスペックが低いようでは意味がありません。
ですので、1000万件あったとしても10分は掛からずエクスポート出来るのではないでしょうか。
私が経験したのは、そこまで良いスペックでなくても400万件のレコードをエクスポートするのに1分でした。
まとめ
確かに、普段使用していたexpに比べて高速であることはわかりました。
ただ、少ない件数であればサポートが切れているとはいえexpで十分とも感じています。
ちなみにメリット・デメリットが
■メリット
・expdp・・・高速である
・exp・・・使いやすい(イメージ的に)
■デメリット
・expdp・・・expに使い慣れている場合は使いにくい
・exp・・・expdpに比べると遅い
多少面倒な部分もありますが、是非使用してみてください。