本記事では、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(以下、RMAN)とはOracleに標準で付属するバックアップ/リストア/リカバリ用のユーティリティです。このRMANを利用したバックアップは、データベース全体、表領域単位、データファイル単位で行うことができます。さらにRMANでは、前回のバックアップ以降に更新のあったデータだけをバックアップする増分バックアップなども可能です。
図1にあるRMANを使用したバックアップを行うと、バックアップを行ったデータベースの情報(バックアップ日時、バックアップ対象、バックアップ先など)がリポジトリに記録されます。この情報は、データベース(カタログ・データベース)、制御ファイルのどちらかを使用して管理できます。
カタログデータベースを使用する場合、ターゲット・データベース(バックアップされるデータベース)とは別のサーバ上に、専用データベースとして作成することが推奨されます。これは同一データベースに作成すると、ターゲットデータベースに障害が発生した場合にRMANがバックアップ情報を参照できずに、リストア、リカバリができない可能性があるためです。
制御ファイルを使用する場合には、ターゲットデータベースの制御ファイルを利用するため特別な設定は必要ありません。ただし、RMANで取得したバックアップ情報は制御ファイルに格納されるため、制御ファイルのミラーリングなどを利用し、制御ファイルの全損が発生しないような構成、バックアップの取得を行う必要があります。
RMANでバックアップを取得する場合には、事前にどちらを利用するのか決定しておく必要があります。ターゲットデータベースの障害復旧時には、これらどちらかの情報を使用してデータベースのリストア、リカバリを実施することになります。
RMANを利用するメリットとしては、以下のことが挙げられます。
フルバックアップ、増分バックアップを問わず、どのバックアップファイルをリストアするか管理者が判断する必要がなく、煩雑なリストア、リカバリ作業を簡単に行うことができます。
TOPIC:ブロックチェンジトラッキング機能
Oracle9i以前のRMANでは、増分バックアップを行う場合もデータファイル全体にアクセスして、前回のバックアップ時点からの変更の有無を判断していました。Oracle 10gでは、ブロックチェンジトラッキング機能を利用すると、変更ブロック情報を別のファイル(トラッキングファイル)に保持するため、データファイル全体にアクセスする必要がなくなり、従来よりも高速に増分バックアップを取得することが可能となりました。ただし、このブロックチェンジトラッキング機能が利用できるのは、Oracle 10gのEnterprise Edition版のみとなります。
RMANを使用したバックアップと聞くと、データベースが稼働している状態でバックアップ(非一貫性バックアップ)を行うためのユーティリティと思われがちですが、一貫性バックアップも取得できます。データベースを正常に停止した後、マウント状態(この状態ではデータファイルがオープンされていません)にてバックアップを行うことで、一貫性が保たれているバックアップを取得することができます。
ノーアーカイブモードのデータベースにおいて、これはRMANを使用した唯一のバックアップ方法となります。
RMANを使用した非一貫性バックアップでは、データベースを停止する必要がないので業務中でもバックアップを行うことができます。データベースを停止することができないシステムでのバックアップや、夜間の停止可能な時間帯だけではデータベース全体のバックアップを取得することが困難な場合に有効です。大規模なデータベースなど、1日では全体のバックアップが取得できない場合には、表領域単位、データファイル単位など日々の運用で分割してバックアップを行います。この場合、すべてのデータファイルを取得した時点で、データベース全体のバックアップが完了したことになります。
RMANの使用時だけでなく、非一貫性バックアップの注意点として、まず、データベースがアーカイブモードで稼働している必要があります。次にデータベースが稼働している状態でバックアップを行うため、オンライン業務やバッチ処理の性能面への影響を考慮する必要があります。そのため、それらへの影響が少ない時間帯にバックアップを行うなどの検討も必要になります。
ここまで説明した方法が一般的なバックアップ方法ですが、この後説明するOracleの機能を利用することでも、2次的なバックアップとすることが可能です。これらの機能は、ディスク障害やノード障害、サイト障害といった大規模な障害対策(ディザスタ・リカバリ)としても利用されています。
Copyright © ITmedia, Inc. All Rights Reserved.