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

Recovery Managerを使ったバックアップ方法Oracleバックアップ/リカバリ講座(4)(2/3 ページ)

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

Oracleの機能を利用した2次的なバックアップ方法

 RMANを使用しなくても、システム構成によってはOracleの機能を使用してバックアップ相当のことが可能です。今回の連載の主眼ではありませんが、これらの機能について、簡単に紹介します。

マテリアライズドビュー

 マテリアライズドビュー(以下、MView)とは、その名のとおり「実体を持つビュー」のことで、Oracle8i以前ではスナップショットと呼ばれていた機能です。

 この機能は、指定したデータベースのクエリ結果(表全体、もしくは表の一部)を別のデータベースの表にコピーする機能です。再度クエリ(リフレッシュ操作)を行うことで、最新のデータ全体、もしくは前回のリフレッシュ時からの差分のみをMViewに反映することが可能です。

図3 MViewの概要図 図3 MViewの概要図

 この機能を利用して、クエリ対象の実表があるデータベースとは別のデータベースにMViewを作成しておくことで、実表を含むデータベースに障害があった場合に、MViewのデータをバックアップとして利用することが可能です。MViewには読み取り専用と更新可能の2種類が存在しますので、用途に応じてどちらかのタイプを選択することになります。

 なお、MViewへのデータ反映はリフレッシュ操作によって行うため、データベース障害などが発生した場合、前回のリフレッシュ後に実表に対して行われた更新内容はMViewに反映されていないので注意が必要です。

マルチマスターレプリケーション

 マルチマスターレプリケーションは、複数のデータベースサイトに同一のオブジェクト、データを保持させ、データベース間で同期を行う機能です。各データベースサイトの更新データは、ほかのデータベースサイトに、同期もしくは非同期で伝搬することができます。

図4 マルチマスターレプリケーションの概略図 図4 マルチマスターレプリケーションの概略図

 万が一、あるデータベースサイトで障害が発生しても、ほかのデータベースサイトに同じデータが存在しています(非同期伝搬の場合には、最新データが参照できない可能性と、各データベースサイトで同一レコードを更新していたなどの競合が発生する可能性があります)。そのため、ほかのデータベースに接続し直すことでデータを参照、更新ができます。このようなことからマルチマスターレプリケーションも一種のバックアップとして利用できます。

図5 マルチマスターレプリケーション環境における障害時の概要図 図5 マルチマスターレプリケーション環境における障害時の概要図

 MView、マルチマスターレプリケーションともに、ネットワーク負荷、処理パフォーマンス、運用管理負荷の増加など、追加で考慮すべき点が複数存在します。

トランスポータブル表領域

 トランスポータブル表領域は、表領域単位で別のデータベースにプラグインできる機能です。先ほど説明したMViewやマルチマスターレプリケーションでは、オブジェクト単位で別データベースに複製を作成しますが、このトランスポータブル表領域では表領域単位となります。

 ある一時点のデータをほかのデータベースにコピーする方法としては、エクスポート/インポート・ユーティリティが一般的ですが、データ量に比例して処理時間が長くなってしまいます。そのため大規模データベースには不向きです。

 これに対し、トランスポータブル表領域では、対象表領域のデータファイルをOSコマンドにより直接コピーします。Oracle側での処理はメタデータ(データファイルに含まれるオブジェクトの情報)のエクスポート/インポートのみとなります。このため、処理時間は主に、コピーするファイル(データ量)サイズに依存するのみです。ストレージのコピー機能などを使用し、データファイルのコピー時間を短縮することで、さらに処理時間を短縮することも可能です。

 定期的にトランスポータブル表領域を実行し、別のデータベースにプラグインしておくことで、バックアップとして利用することも可能です。

図6 トランスポータブル表領域の概要図 図6 トランスポータブル表領域の概要図

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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