Oracle Data Guard 概要および管理 11gリリース1(11.1) E05755-03 |
|
Oracle Data Guardでは、企業データの高可用性、データ保護および障害時リカバリを保証します。Data Guardは、1つ以上のスタンバイ・データベースの作成、メンテナンス、管理および監視など、一連の包括的なサービスを提供し、本番のOracleデータベースを障害およびデータ破損から保護します。Data Guardでは、これらのスタンバイ・データベースを本番データベースのコピーとしてメンテナンスします。したがって、本番データベースが計画的または計画外の停止によって使用不可能になった場合は、スタンバイ・データベースを本番ロールに切り替えて、停止時間を最小限にできます。Data Guardを従来のバックアップ、リストアおよびクラスタ化の技法と連携して使用すると、高いレベルのデータ保護とデータ可用性を実現できます。
Data Guardを使用すると、リソース集中型のバックアップおよびレポート生成操作をスタンバイ・システムにオフロードすることで、管理者は本番データベースのパフォーマンスをオプションで改善できます。
この章では、Oracle Data Guardの概要を説明します。次の項目で構成されています。
Data Guard構成には、1つの本番データベースと1つ以上のスタンバイ・データベースが含まれます。Data Guard構成のデータベースは、Oracle Netで接続され、地理的に分散している場合があります。データベースの配置場所に制限はありませんが、相互に通信できる必要があります。たとえば、1個のスタンバイ・データベースを本番データベースと同じシステム上に配置し、2個のスタンバイ・データベースをリモート位置の別のシステム上に配置できます。
プライマリ・データベースとスタンバイ・データベースは、SQLコマンドライン・インタフェースまたはData Guard Brokerインタフェースを使用して管理できます。Data Guard Brokerインタフェースには、コマンドライン・インタフェース(DGMGRL)や、Oracle Enterprise Managerに統合されたグラフィカル・ユーザー・インタフェースなどがあります。
Data Guard構成には、1個の本番データベースが含まれています。これはプライマリ・データベースとも呼ばれ、プライマリ・ロールで機能します。アプリケーションは主としてこのデータベースにアクセスします。
プライマリ・データベースは、単一インスタンスのOracleデータベースまたはOracle Real Application Clusters(RAC)データベースのいずれかです。
スタンバイ・データベースは、プライマリ・データベースのトランザクション一貫性のあるコピーです。プライマリ・データベースのバックアップ・コピーを使用すると、最大9個のスタンバイ・データベースを作成して、Data Guard構成に組み込むことができます。スタンバイ・データベースが作成されると、Data Guardでは、プライマリ・データベースからスタンバイ・データベースにREDOデータを転送し、スタンバイ・データベースにREDOを適用することによって、各スタンバイ・データベースを自動的にメンテナンスします。
プライマリ・データベースと同様、スタンバイ・データベースは、単一インスタンスのOracleデータベースまたはOracle RACデータベースのいずれかです。
スタンバイ・データベースのタイプは、次のとおりです。
プライマリ・データベースと物理的に同一になるようコピーしたものです。ディスク上のデータベース構造は、ブロック単位でプライマリ・データベースと同一です。索引などのデータベース・スキーマも同一です。フィジカル・スタンバイ・データベースでは、プライマリ・データベースから受信したREDOデータをリカバリし、REDOをフィジカル・スタンバイ・データベースに適用するRedo Applyによって、プライマリ・データベースとの同期を維持します。
Oracle Database 11gリリース1(11.1)現在、フィジカル・スタンバイ・データベースは、読取り専用アクセス用にオープンしている間はREDOを受信および適用できます。そのため、フィジカル・スタンバイ・データベースは、データ保護とレポート生成に同時に使用できます。
本番データベースと同じ論理情報が格納されますが、データの物理的な構成と構造は異なる場合があります。ロジカル・スタンバイ・データベースでは、プライマリ・データベースから受信したREDOデータをSQL文に変換し、スタンバイ・データベースでそのSQL文を実行するSQL Applyによって、プライマリ・データベースとの同期を維持します。
ロジカル・スタンバイ・データベースは、障害時リカバリ要件に加えて、その他のビジネス用途にも使用できます。このため、ロジカル・スタンバイ・データベースには、問合せやレポート生成の目的でいつでもアクセスできます。また、ロジカル・スタンバイ・データベースを使用すると、ほとんどの場合、データベースを停止することなく、Oracle Databaseソフトウェアやパッチ・セットをアップグレードできます。つまり、ロジカル・スタンバイ・データベースは、データ保護、レポート生成およびデータベースのアップグレードに同時に使用できます。
スナップショット・スタンバイ・データベースは、全面的に更新可能なスタンバイ・データベースで、フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースに変換して作成します。
フィジカル・スタンバイ・データベースまたはロジカル・スタンバイ・データベースと同様、スナップショット・スタンバイ・データベースは、プライマリ・データベースからREDOデータを受信およびアーカイブします。しかし、フィジカル・スタンバイ・データベースまたはロジカル・スタンバイ・データベースとは異なり、スナップショット・スタンバイ・データベースは、受信したREDOデータを適用しません。スナップショット・スタンバイ・データベースで受信されたREDOデータは、スナップショット・スタンバイ・データベースに対して行われたローカル更新がすべて破棄された後、スナップショット・スタンバイが変換されてフィジカル・スタンバイ・データベースに戻るまで適用されません。
スナップショット・スタンバイ・データベースは、フィジカル・スタンバイ・データベースの一時的かつ更新可能なスナップショットが必要な場合に最もよく使用されます。スナップショット・スタンバイ・データベースで受信されたREDOデータは、フィジカル・スタンバイに変換されて戻るまで適用されないため、プライマリ・データベースの障害からリカバリするのに必要な時間は、適用する必要があるREDOデータの量に正比例します。
図1-1は、REDOデータをスタンバイ・データベースに転送するプライマリ・データベースが含まれている一般的なData Guard構成を示しています。スタンバイ・データベースは、障害時リカバリ操作とバックアップ操作に備えて、プライマリ・データベースから離れた位置に配置されます。スタンバイ・データベースはプライマリ・データベースと同じ位置にも構成できます。ただし、障害時リカバリに使用する場合は、スタンバイ・データベースを離れた位置に構成することをお薦めします。
次の各項では、Data GuardによるREDOデータの転送、REDOデータの適用およびデータベース・ロールの変更の管理方法について説明します。
本番データベースから1つ以上のアーカイブ先に対するREDOデータの自動転送を制御します。
REDOデータをスタンバイ・データベースに適用し、プライマリ・データベースとのトランザクションの同期を維持します。REDOデータは、アーカイブREDOログ・ファイルから適用できます。また、リアルタイム適用が可能な場合は、スタンバイ・データベースで最初にREDOデータをアーカイブしなくても、いっぱいになったときにスタンバイREDOログ・ファイルから直接適用することもできます。
データベースのロールを、スイッチオーバー操作またはフェイルオーバー操作を使用して、スタンバイ・データベースからプライマリ・データベースに、またはプライマリ・データベースからスタンバイ・データベースに変更します。
REDO転送サービスは、本番データベースから1つ以上のアーカイブ先に対するREDOデータの自動転送を制御します。
REDO転送サービスでは、次のタスクを実行します。
プライマリ・データベースから転送されたREDOデータは、スタンバイ・データベース上でスタンバイREDOログに書き込まれます。適用サービスは、REDOデータをスタンバイ・データベースに自動的に適用し、プライマリ・データベースとの一貫性を維持します。データを読取り専用にすることも可能です。
フィジカル・スタンバイ・データベースとロジカル・スタンバイ・データベースの主な相違点は、適用サービスによるアーカイブREDOデータの適用方法にあります。
Oracleデータベースは、プライマリ・ロールまたはスタンバイ・ロールのいずれかで実行されます。Data Guardでは、スイッチオーバー操作またはフェイルオーバー操作のいずれかを使用してデータベースのロールを変更できます。
スイッチオーバーとは、プライマリ・データベースとそのスタンバイ・データベースの1つとの間でロールを可逆的に推移させる操作です。スイッチオーバーにより、データ消失のない状態が保証されます。この操作は通常、プライマリ・システムの計画的なメンテナンスに対して実行します。スイッチオーバー時には、プライマリ・データベースがスタンバイ・ロールに、あるいはスタンバイ・データベースがプライマリ・ロールに推移します。
フェイルオーバーは、プライマリ・データベースが使用不可能な場合に発生します。フェイルオーバーは、プライマリ・データベースで障害が発生したときのみに実行され、スタンバイ・データベースをプライマリ・ロールに推移させます。データベース管理者は、データが消失しないように、Data Guardを構成できます。
このマニュアルで説明しているロールの推移は、SQL文を使用して手動で行います。また、1.3項で説明しているように、Oracle Data Guard Brokerを使用してロールの推移を単純化させ、Oracle Enterprise ManagerまたはDGMGRLコマンドライン・インタフェースを使用してフェイルオーバーを自動化することもできます。
Data Guard Brokerは分散管理フレームワークで、Data Guard構成の作成、メンテナンスおよび監視を自動化します。Oracle Enterprise Managerのグラフィカル・ユーザー・インタフェース(GUI)またはData Guardコマンドライン・インタフェース(DGMGRL)を使用すると、次の操作が自動化および単純化されます。
さらに、Oracle Enterprise Managerを使用すると、次の操作が自動化および単純化されます。
Oracle Enterprise Manager Grid Control(以下、このマニュアルではEnterprise Managerと呼びます)は、Data Guard構成内のプライマリ・データベースおよびスタンバイ・データベースを表示、監視および管理するための、Webベースのインタフェースを提供します。Enterprise Managerの使いやすいインタフェースと、BrokerによるData Guard構成の集中化された管理および監視を組み合せることで、企業内の高可用性、サイト保護およびデータ保護を実現するためのData Guardソリューションが強化されます。
Enterprise Manager Grid Controlのセントラル・コンソールから、すべての管理操作をローカルまたはリモートで実行できます。プライマリ・データベースとスタンバイ・データベース、およびプライマリ・インスタンスとスタンバイ・インスタンスを含む、Oracleデータベースのホーム・ページの表示、既存のスタンバイ・データベースの作成または追加、インスタンスの開始および停止、インスタンスのパフォーマンスの監視、イベントの表示、ジョブのスケジュール、バックアップ操作およびリカバリ操作の実行が可能です。
Data Guardのコマンドライン・インタフェース(DGMGRL)を使用すると、DGMGRLプロンプトまたはスクリプト内からData Guard構成を制御および監視できます。DGMGRLを使用すると、構成でデータベースを管理および監視するために必要なアクティビティのほとんどを実行できます。DGMGRLのリファレンスの詳細と例は、『Oracle Data Guard Broker』を参照してください。
場合によっては、状況に関係なくデータの消失が許されないビジネスがあります。また、起こりそうにない多重障害の場合に起こりうるデータの消失よりデータベースの可用性の方が重要な場合もあります。アプリケーションの中には、常に最大のデータベース・パフォーマンスが必要であるため、コンポーネントに障害が発生した場合に少量のデータの消失ならば許容できるものがあります。データ保護には、次の3つの異なるモードが用意されています。
この保護モードは、プライマリ・データベースの可用性を低下させない範囲で可能な最高レベルのデータ保護を提供します。トランザクションは、そのトランザクションのリカバリに必要なすべてのREDOデータが、オンラインREDOログおよび少なくとも1つのスタンバイ・データベースに書き込まれるまでコミットされません。プライマリ・データベースは、REDOストリームを少なくとも1つの同期化されたスタンバイ・データベースに書き込むことができない場合、REDOストリームを同期化されたスタンバイ・データベースに再び書き込めるようになるまで、最大パフォーマンス・モードにあるかのように動作してプライマリ・データベースの可用性を維持します。
この保護モードは、特定の二重障害の場合(スタンバイ・データベースの障害が発生した後にプライマリ・データベースの障害が発生した場合など)を除いて、データ消失がないことを保証します。
これはデフォルトの保護モードです。この保護モードは、プライマリ・データベースのパフォーマンスに影響しない範囲で可能な最高レベルのデータ保護を提供します。これは、トランザクションによって生成されたすべてのREDOデータがオンライン・ログに書き込まれた直後に、そのトランザクションのコミットを可能にすることで実現されます。REDOデータは、1つ以上のスタンバイ・データベースにも書き込まれますが、トランザクション・コミットについて非同期で行われるため、プライマリ・データベースのパフォーマンスは、スタンバイ・データベースへのREDOデータの書込み遅延による影響を受けません。
この保護モードは、最大可用性モードに比べてデータ保護が若干弱く、プライマリ・データベースのパフォーマンスへの影響を最小限に抑えます。
この保護モードは、プライマリ・データベースに障害が発生した場合でも、データ消失がないことを保証します。このレベルの保護を提供するには、トランザクションがコミットされる前に、トランザクションのリカバリに必要なREDOデータを、オンラインREDOログおよび少なくとも1つのスタンバイ・データベースに書き込む必要があります。少なくとも1つのスタンバイ・データベースにREDOストリームを書き込むことができない場合は、データ消失が発生しないように、プライマリ・データベースは停止し、トランザクションの処理を続行しません。
3つの保護モードはいずれも、特定のREDO転送オプションを使用して、REDOデータが少なくとも1つのスタンバイ・データベースに送信されるようにする必要があります。プライマリ・データベースの保護モードの設定の詳細は、第5章「Data Guardの保護モード」を参照してください。
高可用性アーキテクチャには、データベースおよびデータベース・クライアントに対する高速フェイルオーバー機能が必要です。
クライアント・フェイルオーバーには、障害の通知、失効した接続のクリーンアップおよび新しいプライマリ・データベースへの透過的な再接続が含まれます。Oracle Databaseには、データベース・フェイルオーバーとフェイルオーバー・プロシージャを統合する機能があるため、クライアントは、データベース・フェイルオーバーから数秒以内に新しいプライマリ・データベースに自動的にリダイレクトされます。
クライアント・フェイルオーバーの詳細は、次のURLにアクセスし、Maximum Availability Architectureのクライアント・フェイルオーバーのベスト・プラクティスに関するホワイト・ペーパーを参照してください。
http://www.oracle.com/technology/deploy/availability/htdocs/maa.htm
Oracle Databaseでは、Data Guardを補完する複数の固有のテクノロジを提供して、ビジネスに不可欠なシステムが、1つのソリューションのみを利用する場合に比べ、はるかに高い可用性とデータ保護を実現しながら稼働できるようにします。Oracleの高可用性テクノロジには、次のものがあります。
Oracle RACを使用すると、インターコネクトによってリンクされた複数の独立型サーバーで、Oracleデータベースへのアクセスを共有し、障害の発生時に、高可用性、スケーラビリティおよび冗長性を実現できます。Oracle RACとData Guardを一緒に使用すると、システムレベル、サイトレベルおよびデータレベルのそれぞれの保護にメリットがあるため、データを消失することなく、高い可用性と障害時リカバリが実現します。
ローカル・サイトとリモート・サイトの使用、ロジカル・スタンバイ・データベースとフィジカル・スタンバイ・データベースの組合せとノードの使用によって、Oracle RACおよびData Guardを使用した様々なアーキテクチャを実現できます。Oralce RACおよびData Guardの統合の詳細は、付録D「Data GuardおよびOralce Real Application Clusters」および『Oracle Database高可用性概要』を参照してください。
フラッシュバック・データベース機能により、論理データの破損やユーザー・エラーから迅速にリカバリできます。適切なときにフラッシュバックを許可することで、誤って変更または削除された可能性のある以前のバージョンのビジネス情報に再度アクセスできるようになります。この機能により、次のことが実現します。
フラッシュバック・データベースの詳細は『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を、REDOデータの適用の詳細は7.2.2項を参照してください。
Recovery Managerは、データベース・ファイルのバックアップ、リストアおよびリカバリを単純化するOracleユーティリティです。Data Guardと同様に、Recovery ManagerはOracleデータベースの機能の1つであるため、個別にインストールする必要はありません。Data GuardとRecovery Managerは密接に統合されているため、次のことが実現されます。
DUPLICATE
コマンドを使用して、プライマリ・データベースのバックアップからスタンバイ・データベースを作成できます。
付録F「Recovery Managerを使用したスタンバイ・データベースの作成」および『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
Data Guardには次のようなメリットがあります。
Data Guardは、効率のよい包括的な障害時リカバリおよび高可用性ソリューションを提供します。管理が容易なスイッチオーバー機能とフェイルオーバー機能を使用すると、プライマリ・データベースとスタンバイ・データベース間でロールを可逆的に推移できるため、計画的および計画外の停止によるプライマリ・データベースの停止時間が最小限になります。
Data Guardでは、予期しない障害が発生した場合でもデータ消失がないことを保証します。スタンバイ・データベースには、データの破損やユーザーのミスに対する保護対策が用意されています。プライマリ・データベースから受信したREDOデータはスタンバイ・データベースで検証されるため、プライマリ・データベースの記憶域レベルの物理破損は、スタンバイ・データベースに伝播されません。同様に、プライマリ・データベースの完全な破損の原因となった論理的な破損やユーザーのミスも解決できます。
プライマリ・データベースから受信したREDOデータで更新されたスタンバイ・データベース表は、バックアップ、レポート生成、要約および問合せなどの他のタスクにも使用できます。したがって、これらのタスクの実行に必要なプライマリ・データベースのワークロードを低減し、貴重なCPUとI/Oのサイクルを節約できます。
Oracle Data Guardには、各企業がデータ可用性とシステム・パフォーマンス要件とのバランスを保つことができるように、最大保護、最大可用性および最大パフォーマンスの3つのモードが用意されています。
ネットワークの問題などで、プライマリ・データベースと1つ以上のスタンバイ・データベースとの間の接続が失われた場合、プライマリ・データベース上に生成されるREDOデータは、宛先のスタンバイ・データベースに送信されません。接続が再度確立された時点で、Data Guardによって、欠落しているアーカイブREDOログ・ファイル(ギャップと呼ばれます)が自動的に検出され、それらのファイルがスタンバイ・データベースに自動的に転送されます。スタンバイ・データベースはプライマリ・データベースと同期化されるため、DBAによる手動操作は不要です。
Data Guard Brokerは、グラフィカル・ユーザー・インタフェースとコマンドライン・インタフェースを提供し、Data Guard構成の複数のデータベース全体の管理タスクと操作タスクを自動化します。また、ブローカは、単一のData Guard構成内のすべてのシステムを監視します。
Data GuardではOracle Database Enterprise Editionの機能の1つであるため、個別にインストールする必要はありません。
ファスト・スタート・フェイルオーバーが有効になると、プライマリ・サイトで障害が発生した場合、Data Guard Brokerにより、DBAによる操作の必要なしに同期化されたスタンバイ・サイトにフェイルオーバーされます。また、アプリケーションにロールの推移が自動的に通知されます。
|
Copyright © 1999, 2008 Oracle Corporation. All Rights Reserved. |
|