Oracleの代表的なバックアップ方法:Oracleバックアップ/リカバリ講座(3)(2/3 ページ)
本記事では、Oracleデータベースのバックアップ/リストア/リカバリについて、そのアーキテクチャ、代表的なバックアップ手法、論理/物理バックアップ、RMANといった全般的な内容を解説していく。(編集部)
エクスポート・ユーティリティの注意点
エクスポートは、コマンドラインや「Enterprise Manager」などからも実行でき、利用することの多いユーティリティです。しかし、エクスポートで取得したデータは、エクスポートを実行した時点のデータしか含まれず、その後の変更データはエクスポート・ダンプ・ファイルに含まれません。従って、障害が発生した場合には、エクスポートを取得した時点の状態までしか復旧できません。また、SYSユーザー所有のオブジェクトはエクスポート対象外ですので、データベースが完全に障害を受けた場合、復旧手順としてデータベースの作成から作業を行う必要があります。
バックアップとしてエクスポートを利用する場合、システムの要件に合っているか判断し、利用するようにします。
Oracle Data Pump
「Oracle Data Pump」ユーティリティはOracle 10gから導入された新機能で、先ほど説明したオリジナルのエクスポート/インポート・ユーティリティに比べ、より高速にデータのエクスポートやインポートを行うことができます(詳細については、第5回にて説明します)。
Oracle Data Pumpユーティリティは、expdp/impdpコマンドラインユーティリティとDBMS_METADATA/DBMS_DATAPUMPパッケージで構成され、ダイレクト・パス・ロード、アンロードや外部表メカニズムを利用することで高速化が行われています。オリジナルのエクスポート/インポートと用語やオプションなどは似ていますが、完全に別のユーティリティであり、ダンプファイルも互換性がありません。
Oracle Data Pumpユーティリティでは、高速化以外にも、多くの機能拡張が行われています。例えば、表の格納先表領域を変更する場合、オリジナルのインポートでは事前に移動先の表領域に表を作成するなどの準備が必要でしたが、Oracle Data Pump ImportではREMAP_TABLESPACEパラメータを指定するだけで済みます。
また、途中で中断したOracle Data Pump Export/Import処理を再開することも可能ですし、Enterprise Edition版であればパラレル実行することでさらに高速に処理することが可能です。なお、データベース管理者がダンプファイルの出力先ディレクトリをディレクトリ・オブジェクトとして作成する必要がありますので、注意が必要です。
基本的にOracle 10g以降のバージョンでは、データ移行などの一部処理を除いて、オリジナルのエクスポート/インポート・ユーティリティではなく、Oracle Data Pump Export/Importの利用が推奨されています。
OSコマンド、バックアップツールによる一貫性バックアップ
OSコマンドやサードパーティのバックアップツールによる一貫性バックアップを行う場合には、まずデータベースを正常に停止する必要があります。その後、OSコマンドでデータファイルなどをほかのディレクトリやテープストレージなどにバックアップを行います(図3)。
UNIXのファイルシステム上にデータファイルを配置している場合にはcpコマンドやtarコマンド、RAWデバイス上に配置している場合にはddコマンドを使用して、外部ディスクにバックアップを行います。テープストレージにバックアップする場合、tarコマンドやddコマンドで直接バックアップすることも可能ですが、メディア管理を容易にするため、バックアップツールを利用するのが一般的です。
データベースのリストア・リカバリの際は、データベースを停止し、バックアップ先から必要なファイルを元のディレクトリにコピーします。アーカイブログモード(第2回「アーキテクチャから理解するOracleリカバリ」を参照)で運用していれば、一貫性バックアップ取得後に出力されたアーカイブREDOログファイルを適用して障害発生直前までリカバリすることも可能です(図4)。
Copyright © ITmedia, Inc. All Rights Reserved.