中山テック 代表の中山です。
先日、システム開発の現場にてDataPump(データポンプ)でのダンプに
どれぐらいの時間が掛かるのか調査をして欲しいという問い合わせを受けました。
というか、Oracleは11g以降は通常のダンプではなく、DataPumpが推奨されています。
※通常のダンプは11g以降サポートしなくなったため
今まで話題にすら上がらなかった?と思うと情報収集の甘さが露呈していますね。
そんこんなで、DataPumpは何をするものなのか、使い方や
メリット・デメリットをお話したいと思います。
高速のデータエクスポートと思っていただいて差し支えありません。
今まではexpでエクスポートを行っていた(行っている)方が殆どでしたが
サポート切れの憂き目にあってしまいました。
読み方は先ほど記載しましたが、「データポンプ」です。
※私は初め「データパンプ」と読んでました。いやー、お恥ずかしい(笑)
- 【JavaScript】wordpressのカテゴリを判断して出し分けする方法
- VBAの基礎構文について~変数定義やif文、for文、内部関数の定義方法を備忘的に残します~
- 画像がぼやけてしまう時の対処法~ホームページ制作時の画像貼り付けのコツ~
- HDDとSSDの書き込み速度・読み込み速度比較した結果~内蔵でも簡単に交換可能~
- コンビニでExcelを印刷~プリンタトラブルがあった場合の対処方法~
- Excel(エクセル)で図形(オブジェクト)内の文字列をVBAで検索~グループ化してても検索可~
- Let’s C言語チャレンジ!~自由度が高くメモリ理解も得られるので勉強することをおすすめします~
- 冗長構成されたサーバがダウンした時の動作確認~ロードバランス機能も含めたテストを行う~
- Excelで画像を透明化(透過)
- Excel(エクセル)で罫線を引くコツ~太さや上下左右に引く場合は?~
DataPumpの使い方
ディレクトリを作成
エクスポート専用のディレクトリぐらい作ってるわ!とお思いかもしれませんが
これはオラクルが認識可能な環境変数定義の意味であると覚えておいてください。
ちなみに、DataPumpは直接のパス指定はできません。
DDLの様式は下記の通りです。
create [OR REPLACE] directory オブジェクト名 as '対象ディレクトリのフルパス';
※OR REPLACEは同名のディレクトリがあっても無視するオプションです
これだけではオブジェクト指定してもエラーが発生します。
対象ユーザに権限を付与します。
GRANT READ ON DIRECTORY ディレクトリ名 TO ユーザ(スキーマ)名;
GRANT WRITE ON DIRECTORY ディレクトリ名 TO ユーザ(スキーマ)名;
エクスポートコマンド
expdpコマンドを使用します。
構文は下記の通りになります。
expdp <ユーザ>/<パスワード>@<接続文字列> <オプション>
一見簡単そうですが、データエクスポートする際はディレクトリやエクスポートファイル、
パスを指定するケースが殆どなのでオプションが多くなります。
インポートコマンド
impdpコマンドを使用します。
構文はエクスポートとほぼ同じになります。
impdp <ユーザ>/<パスワード>@<接続文字列> <オプション>
オプションについてはOracleのDataPumpの使い方(応用編)をご参照ください。