連載
» 2006年05月25日 00時00分 公開

Oracleバックアップ/リカバリ講座(5):Data Pumpを使った論理バックアップの実践 (1/3)

本記事では、Oracleデータベースのバックアップ/リストア/リカバリについて、そのアーキテクチャ、代表的なバックアップ手法、論理/物理バックアップ、RMANといった全般的な内容を解説していく。(編集部)

[倉田寛正,株式会社アゲハ]

この記事は会員限定です。会員登録すると全てご覧いただけます。

主な内容

--Page 1--
▼Data Pump Export/Importユーティリティで論理バックアップ
--Page 2--
▼論理バックアップ処理を一時停止する
--Page 3--
▼ダンプ・ファイル・セットの使用ディスク容量を見積もる
▼データファイル、表領域、スキーマを変更してリカバリを行う
▼アンロード/ロード処理のパラレル実行
▼覚えておくと便利なパラメータ一覧


 第3回「Oracleの代表的なバックアップ方法」、第4回「Recovery Managerを使ったバックアップ方法」では、Oracleの代表的なバックアップ方法の概要について説明してきました。今回は、第3回で説明した論理バックアップ方法としてDataPumpに焦点を当て、具体的な使用方法やその際の注意点を説明します。

Data Pump Export/Importユーティリティで論理バックアップ

 Oracle 10gからは、以前のエクスポート/インポートユーティリティ(以下、オリジナルのエクスポート/インポートユーティリティ)と類似した、「Data Pump Export/Importユーティリティ」が標準でバンドルされています。機能は似ていますが、性能面、操作性や、Oracle 10g機能に対応した点を考慮するとData Pump Export/Importユーティリティの使用をお勧めします。

 今回は、そのData Pump Export/Importユーティリティを使用した具体的なバックアップ方法やリカバリ方法、そしてその際の注意点について説明します(オリジナルのエクスポート/インポートユーティリティの概要については、第3回「Oracleの代表的なバックアップ方法」を参照してください)。実行環境としては、Oracle Database 10g Release 2のData Pump Export/Importユーティリティを使用しています。

Data Pump Export/Importユーティリティの論理バックアップ単位

 Data Pump Export/Importユーティリティにはいくつかのモードが用意されており、状況に応じてテーブル単位や表領域単位などにて、表データやオブジェクトのメタデータをダンプ・ファイル・セットとしてアンロードできます。図1に、Data Pump Export/Importユーティリティにおけるモードとその対象を示します。

図1 Data Pump Export/Importユーティリティによるモードとその対象 図1 Data Pump Export/Importユーティリティによるモードとその対象

Data Pump Export/Importユーティリティの実行方法

 まず、Data Pump Export/Importユーティリティに用意されている、3つのユーザー・インターフェイスについて説明します。

  • コマンドライン・インターフェイス
    パラメータを直接コマンドで指定する

  • パラメータ・ファイル・インターフェイス
    パラメータ・ファイルを用意して、その中にパラメータを記述する

  • 対話方式コマンド・インターフェイス
    実行中のジョブに接続し、詳細な情報確認や停止状態のジョブを再実行する(ジョブは継続して実行されるが、端末へのロギングは一時中断される)

 Data Pump Export/Importユーティリティには多くのパラメータがあり、またバッチ処理などの運用時にパラメータの設定変更などが一元管理できますので、一度パラメータ・ファイルを作成して再利用していくのが効率的です。

 それでは、実際にData Pump Export/Importユーティリティの操作方法について説明しますが、その前に事前準備が必要となります。まずOS上の作業で、表データなどが格納されるダンプ・ファイル・セットやログ・ファイルの作成先となるディレクトリを作成し、それに対して読み取り、書き込み権限を付与しておきます。

 次に、それらの情報をデータベースに登録します。Data Pump Export/Importユーティリティでは、この登録された情報を使用して動作します。リスト1で示すように、ディレクトリ情報の登録とData Pump Export/Importユーティリティを実行するOracleユーザー(ここではagehaユーザー)への権限の付与を行っています。

 ダンプ・ファイル・セット、およびログ・ファイルの作成先ディレクトリとして「/work/ageha/dir1」を指定し、これに対してOracleで管理する任意の名前「expdp_dir1」を付けています(これをディレクトリ・オブジェクトと呼びます)。

 これらのディレクトリは複数登録することもできます。またディクショナリ・ビュー「dba_directories」を参照することで、設定を確認することができます。「expdp_dir2」は後ほど使用しますので、ここで作成しています。

$ sqlplus sys/パスワード
SQL> create directory expdp_dir1 as ‘/work/ageha/dir1’;
SQL> create directory expdp_dir2 as ‘/test/expdp/dir2’;
SQL>
SQL> grant read,write on directory expdp_dir1 to ageha;
SQL> grant read,write on directory expdp_dir2 to ageha;
SQL> 
SQL> select directory_name,directory_path from dba_directories
  2  where directory_name like ‘EXPDP%’;

DIRECTORY_NAME          DIRECTORY_PATH
----------------------- -------------------------------------
EXPDP_DIR1              /work/ageha/dir1
EXPDP_DIR2              /test/expdp/dir2
リスト1 ディレクトリ・オブジェクトの作成と確認方法

 それでは、パラメータ・ファイル・インターフェイスを使用した場合を例に挙げて、Data Pump Exportユーティリティを実行してみましょう。

$ cat expdp_ageha.par
directory=expdp_dir1
dumpfile=expdp_dump1.dmp
logfile=expdp_dump1.log
job_name=job_expdp1
$
$ expdp ageha/ageha parfile=expdp_ageha.par
リスト2 パラメータ・ファイル・インターフェイスでの実行コマンド例

 リスト2の「expdp_ageha.par」パラメータ・ファイルでは、ダンプ・ファイル・セット、ログ・ファイルの作成先ディレクトリとファイル名、そして実行するジョブ名を指定しています。また、事前に作成した「expdp_dir1」ディレクトリ・オブジェクトが指定されていることから、ダンプ・ファイル・セット、ログ・ファイルはそれぞれ以下のように作成されることになります。

  • ダンプ・ファイル・セット: /work/ageha/dir1/expdp_dump1.dmp
  • ログ・ファイル      : /work/ageha/dir1/expdp_dump1.log
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。