連載
» 2006年04月21日 00時00分 公開

Oracleバックアップ/リカバリ講座(4):Recovery Managerを使ったバックアップ方法 (1/3)

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

[荒井智也,株式会社アゲハ]

主な内容

--Page 1--
▼Oracle Recovery Managerによるバックアップ
--Page 2--
▼Oracleの機能を利用した2次的なバックアップ方法
--Page 3--
▼Oracle Data Guardを使った2次的なバックアップ方法
▼各バックアップ手法のメリット・デメリット


 今回は前回に引き続き、Oracleで一般的に利用されるバックアップ方法の概要について説明します(詳細については、第5回以降にて説明します)。前回はエクスポート・ユーティリティとOSコマンドによるバックアップについて説明しました。今回はOracle Recovery Managerを使用したバックアップ方法を説明します。また、2次的なバックアップとしても利用できる災害対策機能、オブジェクト複製機能についても紹介します。

Oracle Recovery Managerによるバックアップ

 Oracle Recovery Manager(以下、RMAN)とはOracleに標準で付属するバックアップ/リストア/リカバリ用のユーティリティです。このRMANを利用したバックアップは、データベース全体、表領域単位、データファイル単位で行うことができます。さらにRMANでは、前回のバックアップ以降に更新のあったデータだけをバックアップする増分バックアップなども可能です。

図1 RMANの概要図 図1 RMANの概要図

 図1にあるRMANを使用したバックアップを行うと、バックアップを行ったデータベースの情報(バックアップ日時、バックアップ対象、バックアップ先など)がリポジトリに記録されます。この情報は、データベース(カタログ・データベース)、制御ファイルのどちらかを使用して管理できます。

 カタログデータベースを使用する場合、ターゲット・データベース(バックアップされるデータベース)とは別のサーバ上に、専用データベースとして作成することが推奨されます。これは同一データベースに作成すると、ターゲットデータベースに障害が発生した場合にRMANがバックアップ情報を参照できずに、リストア、リカバリができない可能性があるためです。

 制御ファイルを使用する場合には、ターゲットデータベースの制御ファイルを利用するため特別な設定は必要ありません。ただし、RMANで取得したバックアップ情報は制御ファイルに格納されるため、制御ファイルのミラーリングなどを利用し、制御ファイルの全損が発生しないような構成、バックアップの取得を行う必要があります。

 RMANでバックアップを取得する場合には、事前にどちらを利用するのか決定しておく必要があります。ターゲットデータベースの障害復旧時には、これらどちらかの情報を使用してデータベースのリストア、リカバリを実施することになります。

 RMANを利用するメリットとしては、以下のことが挙げられます。

  • バックアップの世代管理や、不要になったバックアップファイルの削除
  • リストア時に、RMAN自身が必要なバックアップファイルを判断

 フルバックアップ、増分バックアップを問わず、どのバックアップファイルをリストアするか管理者が判断する必要がなく、煩雑なリストア、リカバリ作業を簡単に行うことができます。

TOPIC:ブロックチェンジトラッキング機能

Oracle9i以前のRMANでは、増分バックアップを行う場合もデータファイル全体にアクセスして、前回のバックアップ時点からの変更の有無を判断していました。Oracle 10gでは、ブロックチェンジトラッキング機能を利用すると、変更ブロック情報を別のファイル(トラッキングファイル)に保持するため、データファイル全体にアクセスする必要がなくなり、従来よりも高速に増分バックアップを取得することが可能となりました。ただし、このブロックチェンジトラッキング機能が利用できるのは、Oracle 10gのEnterprise Edition版のみとなります。


RMANを使用した一貫性バックアップ

 RMANを使用したバックアップと聞くと、データベースが稼働している状態でバックアップ(非一貫性バックアップ)を行うためのユーティリティと思われがちですが、一貫性バックアップも取得できます。データベースを正常に停止した後、マウント状態(この状態ではデータファイルがオープンされていません)にてバックアップを行うことで、一貫性が保たれているバックアップを取得することができます。

 ノーアーカイブモードのデータベースにおいて、これはRMANを使用した唯一のバックアップ方法となります。

RMANを使用した非一貫性バックアップ

 RMANを使用した非一貫性バックアップでは、データベースを停止する必要がないので業務中でもバックアップを行うことができます。データベースを停止することができないシステムでのバックアップや、夜間の停止可能な時間帯だけではデータベース全体のバックアップを取得することが困難な場合に有効です。大規模なデータベースなど、1日では全体のバックアップが取得できない場合には、表領域単位、データファイル単位など日々の運用で分割してバックアップを行います。この場合、すべてのデータファイルを取得した時点で、データベース全体のバックアップが完了したことになります。

図2 RMANを使用したオンラインバックアップ 図2 RMANを使用したオンラインバックアップ
(画像をクリックすると拡大します)

 RMANの使用時だけでなく、非一貫性バックアップの注意点として、まず、データベースがアーカイブモードで稼働している必要があります。次にデータベースが稼働している状態でバックアップを行うため、オンライン業務やバッチ処理の性能面への影響を考慮する必要があります。そのため、それらへの影響が少ない時間帯にバックアップを行うなどの検討も必要になります。

 ここまで説明した方法が一般的なバックアップ方法ですが、この後説明するOracleの機能を利用することでも、2次的なバックアップとすることが可能です。これらの機能は、ディスク障害やノード障害、サイト障害といった大規模な障害対策(ディザスタ・リカバリ)としても利用されています。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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