...

Oracle Active Data Guardリアルタイム・データ保護と可用性

by user

on
Category: Documents
114

views

Report

Comments

Transcript

Oracle Active Data Guardリアルタイム・データ保護と可用性
Oracleホワイト・ペーパー
2013年6月
Oracle Active Data Guard
リアルタイム・データ保護と可用性
Oracle Active Data Guard:リアルタイム・データ保護と可用性
はじめに ....................................................................................................................................................1
Oracle Active Data Guard – 概要 .................................................................................................2
Oracle Data Guardによるスタンバイ・データベースの同期 ....................................3
転送サービス ...................................................................................................................................3
REDO Applyサービス ..................................................................................................................6
Oracleデータの検証.....................................................................................................................6
保護モード ........................................................................................................................................6
Oracle Data Guard構成の管理方法 ............................................................................................7
ロール管理サービス - スイッチオーバーとフェイルオーバー ..........................8
ファスト・スタート・フェイルオーバー ......................................................................9
クライアント・フェイルオーバーの自動化 .................................................................9
Oracle Data Guardによる計画停止時間の短縮 ................................................................ 10
Oracle Active Data Guard ............................................................................................................. 11
リアルタイム問合せ – パフォーマンスとROI ........................................................... 11
自動ブロック修復機能 – 高可用性 .................................................................................. 11
Far Sync - いかなる距離でもデータ損失ゼロの保護............................................. 12
Oracle Active Data Guardによるデータベース・ローリング・アップグ
レード ...............................................................................................................................................13
アプリケーション継続性....................................................................................................... 14
Oracle Global Data Services ................................................................................................. 15
関連テクノロジー ............................................................................................................................. 15
ストレージのリモート・ミラー化 .................................................................................. 15
Oracle GoldenGate.................................................................................................................... 16
Oracle Real Application Clusters ....................................................................................... 18
Oracle Multitenant .................................................................................................................... 18
Oracleエンジニアド・システムとOracle Data Guard ................................................. 18
顧客事例 .................................................................................................................................................19
結論 ...........................................................................................................................................................19
付録:Oracle Active Data GuardおよびOracle Data Guardの新機能.................. 20
Oracle Active Data Guard:リアルタイム・データ保護と可用性
はじめに
高可用性(HA)アーキテクチャを適切に導入すると、冗長システムとソフトウェアによってシングル・ポ
イント障害が排除され、停止時間の発生とデータの損失を防ぐことができます。この原理はミッション・ク
リティカルなデータベースにも当てはまります。管理者のミス、システムやソフトウェアの障害によるデー
タの破損、またはサイト全体の障害によってデータベースの可用性が低下する場合があります。複数のサー
バー上で動作するクラスタ化されたデータベースでさえ、適切に保護されていなければ、シングル・ポイン
ト障害の影響を受けます。クラスタ化されたデータベースでは非常に優れたサーバーHAを実現できますが、
それも結局のところは、共有ストレージ上で単一のデータベースを動作させる緊密に結合されたシステムに
すぎません。
シングル・ポイント障害による影響を防ぐ唯一の方法は、すでに別のシステム上で動作している本番データ
ベースの完全に独立した(理想的には別の場所に配備された)コピーを持ち、本番データベースが何らかの
理由で使用できなくなった場合にすぐにアクセスできるようにしておくことです。
Oracle Active Data Guardは、ミッション・クリティカルなOracle Databaseのシングル・ポイント障害を排
除できるもっとも包括的なソリューションです。このソリューションは、本番データベースの同期された物
理レプリカを遠隔地に保持することによって、もっとも単純かつ経済的な方法でデータの損失と停止時間の
発生を防ぎます。何らかの理由で本番データベースが使用できなくなると、クライアント接続が、迅速に
(また一部の構成では透過的に)、同期されているレプリカにフェイルオーバーされ、サービスがリストア
されます。Oracle Active Data Guardは、レポート作成アプリケーション、非定型の問合せ、およびデータ抽
出の、本番データベースの読取り専用のコピーへのオフロードを可能にすることにより、コストのかかる無
駄な冗長性を排除します。Oracle Active Data Guardには、Oracle Databaseとの緊密な統合と、リアルタイ
ム・データ保護および可用性への十分な特化により、ストレージのリモート・ミラー化やその他のホスト
ベース・レプリケーション・ソリューションに見られるような妥協点がありません。
このホワイト・ペーパーでは、Oracle Active Data Guard(ライセンス・オプション)とOracle Data Guard
(Oracle Database Enterprise Editionに組み込まれている)の両方について詳しく説明します。このホワイ
ト・ペーパーは、データの損失や停止時間の発生を防ぐ各種の方法を評価しているITマネージャーや、
Oracle Active Data Guardの機能についての深い理解を求めている技術スタッフを対象としています。
1
Oracle Active Data Guard:リアルタイム・データ保護と可用性
「Oracle Active Data Guardは、高可用性とディザスタ・リカバリ(DR)の境界をなくします。VocaLinkでは、合計で約8分の停止時間という、以前
に使用していたDRアーキテクチャよりもはるかに短い時間で完全なサイト・フェイルオーバーを実行できるようになりました。Oracle Data Guardの
Standby-First Patchも、計画的なメンテナンスのための停止時間を短縮するために役立ちます」 1
VocaLink、データベース・テクニカル・アーキテクト、Martin McGeough
Oracle Active Data Guard – 概要
Oracle Database 12cのOracle Active Data Guard 2が備える機能によって実現される、導入と管理が容易な高
機能のアクティブ・ディザスタ・リカバリ・システムにより、データ損失の防止、高可用性の実装、リスク
の排除、投資収益率の向上という戦略的な目標をさらに強化できます。
図1:Oracle Active Data Guard
Oracle Active Data Guard(図1)は、以下のような多数のメリットを提供します。
• 読取り専用レポート、非定型の問合せ、およびグローバル一時表への書込みを行う読取り中心のアプリ
ケーションを、ディザスタ・リカバリにも使用されるスタンバイ・データベースにオフロードできます。
これにより、使用可能な容量が増加します。また、競合するワークロードの分離により応答時間が改善
されます。さらに、シンプルな物理レプリケーションを使用しながらスタンバイ・システムの投資収益
率(ROI)を向上させることができます。
• プライマリ・データベースとスタンバイ・データベースのどちらにおいても、どこで発生した物理的なブ
ロックの破損も自動的に修復されるため、ユーザーへのサービス提供の中断が防止されるとともに、管
理者による手動操作も不要になります。
• データ損失ゼロの保護を、プライマリ・データベースとスタンバイ・データベースが数千マイル離れた構
成に実装できます。これにより、プライマリ・データベースのパフォーマンスが低下したり、複雑さが
増したり、コストのかかる独自規格のストレージやネットワーク・デバイスが必要になったりすること
はありません。データ保護のためにパフォーマンス面で妥協する必要はなくなります。
1
http://www.oracle.com/technetwork/database/availability/vocalink-exadata-1940109.pdf
2
http://www.oracle.com/technetwork/jp/database/features/availability/dataguardoverview-083155-ja.html
2
Oracle Active Data Guard:リアルタイム・データ保護と可用性
• データベースのローリング・アップグレードをより簡単かつ確実に実行できる新しい自動化機能を使用す
ることにより、計画的な停止時間は最小限に短縮され、本番データベース環境にさまざまな変更を加え
るリスクも抑えられます。
Oracle Active Data Guardは、Oracle Enterprise Editionに付属するOracle Data Guard機能のスーパーセットで
もあります。このため、Oracle Active Data Guardは、シングル・ポイント障害を排除して、リアルタイム・
データ保護と可用性を提供できます。これは、障害、データ破損、人為的エラー、災害からOracleデータを
保護する1つ以上の同期スタンバイ・データベースを作成して保持するための管理、監視、および自動化ソ
フトウェアを提供することによって実現されます。
Oracle Active Data Guardではシンプルな物理レプリケーションが使用されますが、Oracle Databaseと緊密
に統合されているため、他に類を見ないプライマリ・データベースとスタンバイ・データベースの分離によ
り、データ損失に対する最高レベルの保護が実現されます。Oracle Active Data Guardは、同期保護(データ
損失ゼロ)と非同期保護(データ損失ほぼゼロ)の両方をサポートします。ミッション・クリティカルなア
プリケーションの高可用性を保持するために、データベース管理者(DBA)は、プライマリ・データベース
が何らかの理由で使用できなくなった場合のスタンバイ・データベースへの手動のフェイルオーバーまたは
自動のフェイルオーバーを選択できます。
Oracle Active Data Guardは、Oracle Database Enterprise Editionのライセンス・オプションです。以降の項
で説明するどの機能も、‘Oracle Active Data Guard’の機能を明示的に指している場合は、Oracle Active Data
Guardオプション・ライセンスが必要です。また、どの機能も、Oracle Enterprise Editionに付属する‘Oracle
Data Guard’の機能を明示的に指している場合は、オプション・ライセンスは不要です。
Oracle Data Guardによるスタンバイ・データベースの同期
Oracle Data Guardの構成には、プライマリ・データベースと呼ばれる本番データベースと、スタンバイ・データ
ベースと呼ばれる最大30の直接接続レプリカが含まれます。プライマリ・データベースとスタンバイ・データ
ベースは、Oracle Net Servicesを使用したTCP/IPを介して接続されます。データベース同士の通信が可能であれば、
設置場所に関する制約はありません。スタンバイ・データベースは、最初はプライマリ・データベースのバック
アップから作成されます。Oracle Data Guardは、プライマリ・データベースのREDO(トランザクションを保護
するためにすべてのOracle Databaseによって使用される情報)を送信して、プライマリ・データベースとすべて
のスタンバイ・データベースを自動的に同期し、スタンバイ・データベースに適用します。
転送サービス
Oracle Data Guardの転送サービスは、プライマリ・データベースからスタンバイ・データベースへのREDO
の送信に関するすべての側面を処理します。ユーザーがプライマリ・データベースでトランザクションをコ
ミットすると、REDOレコードが生成され、ローカルのオンライン・ログ・ファイルに書き込まれます。
Oracle Data Guardの転送サービスは、プライマリ・データベースのログ・バッファ(システム・グローバル
領域内で割り当てられているメモリ)からスタンバイ・データベースへと同じREDOを同時に直接送信し、
スタンバイ・データベースはスタンバイREDOログ・ファイルにREDOを書き込みます。Oracle Data Guardに
よる転送は、以下の理由から非常に効率的です。
3
Oracle Active Data Guard:リアルタイム・データ保護と可用性
• Oracle Data Guardによるメモリからの直接送信により、プライマリ・データベースでのディスクI/Oオー
バーヘッドが回避されます。これは、他のホストベースのレプリケーション・ソリューションが、レプ
リケーション・プロセスで使用する専用ファイルによって、ディスクからデータを読み取り、取得した
データをディスクに書き込むことで、プライマリ・データベースでのI/Oを向上させるのとは異なります。
• Oracle Data Guardは、データベースREDOだけを送信します。これは、リアルタイム同期を維持するため
にすべてのブロック変更をすべてのファイルに送信しなければならないストレージのリモート・ミラー
化とは完全に対照的です。オラクルが実施したテストによると、ストレージのリモート・ミラー化では、
Oracle Data Guardよりも、最大7倍のネットワーク・データが送信され、27倍のネットワークI/O操作が
必要であることが示されています。
• また、Oracle Data Guardの物理スタンバイでは、論理レプリケーション・ソリューションで必要になる
プライマリ・データベースでのサプリメンタル・ロギングのI/Oオーバーヘッドも回避されます。I/Oへの
影響を最小限に抑える物理レプリケーションの利点は、スタンバイ・データベースにも及びます。論理
レプリケーションとは異なり、Oracle Data Guardの適用プロセスでは、スタンバイ・データベースで
ディスクに書き込んでアーカイブする必要のあるローカルREDOが生成されません。
Oracle Data Guardでは、同期と非同期の2つの転送サービスを選択できます。
同期REDO転送では、REDOが受信され、ディスク(スタンバイREDOログ・ファイル)に書き込まれたとい
うスタンバイ・データベースからの確認を待ってから、プライマリ・データベースがコミットの成功を伝え
る信号をアプリケーションに送信します。同期転送と、Oracle Data Guardの適用サービスによるトランザク
ション・セマンティクスの高度な認識との結合により、プライマリ・データベースに突然障害が発生しても、
データ損失ゼロが保証されます。
プライマリ・サイトとスタンバイ・サイトの距離には物理的な制限はありませんが、サポートできる距離に
は実際的な制限があります。距離が遠くなるほど、プライマリ・データベースがスタンバイ・データベース
からの確認を待たなければならない時間も長くなり、アプリケーションの応答時間とスループットに直接影
響します。このパフォーマンスに関する懸念事項に対処できるように設計されたOracle Database 12cでは、
次の2つの新しい同期転送オプションを使用できます。
• Fast Sync:データ損失ゼロの同期構成でパフォーマンスを向上させる容易な方法を提供します。Fast
Syncにより、スタンバイ・データベースは、メモリでREDOを受信するとすぐに(スタンバイREDOロ
グ・ファイルへのディスクI/Oを待たずに)プライマリ・データベースに確認を送信できるようになりま
す。これにより、プライマリ・データベースとスタンバイ・データベースの間でのラウンドトリップの
合計時間が短縮され、プライマリ・データベースのパフォーマンスへの同期転送の影響が軽減されます。
Fast Syncでは、スタンバイ・データベースのI/Oが完了する前にプライマリ・データベースとスタンバ
イ・データベースの両方で障害が同時発生するとデータが損失する危険性がごくわずかながら存在しま
す。ただし、その危険性のある時間は非常に短く(両方の障害が数ミリ秒の間に発生する必要がある)、
そのような状況は極めて特異なものであるため、発生する可能性はほとんどありません。Fast Syncは、
Oracle Data Guardに付属しています。
• Far Sync:リモート・スタンバイ・データベースが数千マイル離れていても、プライマリ・データベース
のパフォーマンスに影響を与えずに、またコストや複雑さをあまり増大させずに、データ損失ゼロの
フェイルオーバーを実現します。Far Syncは、Active Data Guardに付属しています(詳しくは、このホワ
イト・ペーパーの「Oracle Active Data Guard」の項を参照)。
4
Oracle Active Data Guard:リアルタイム・データ保護と可用性
非同期REDO転送では、ローカル・ログ・ファイルへの書込み完了の直後にアプリケーションにコミットの
成功が伝えられるため、プライマリ・データベースのパフォーマンスは低下しません。プライマリ・データ
ベースは、スタンバイ・データベースの受信確認を待ちません。コミットされたトランザクションに対する
すべてのREDOが常にスタンバイ・データベースで受信されるという保証があるわけではないため、このパ
フォーマンス向上には、少量のデータ損失に対する潜在的なリスクが伴います。
Oracle Data Guard転送と複数スタンバイ構成:複数のスタンバイ・データベースをサポートするOracle
Data Guardの機能を使用する企業が増えています。HAのためにローカルのスタンバイ・データベースに同
期送信するプライマリ・データベースは、その一例です。受信したローカル・スタンバイ・データベースは、
遠隔地にあるディザスタ・リカバリ用の第2のスタンバイ・データベースにREDOを転送します。リアルタイ
ム・カスケード(Oracle Database 12cで使用できるActive Data Guardの機能)を使用する場合、ローカルの
スタンバイ・データベースは、非同期転送を使用して、プライマリ・データベースとほぼ完全に同期したDR
コピーを保持します。
ローカルとリモートの両方のスタンバイ・データベースを持つ複数スタンバイ構成には、以下のメリットが
あります。
• 最高レベルのデータ保護:ローカル・スタンバイ・データベースは非常に近くにあるため、データベース
のパフォーマンスにほとんど影響を与えずにデータ損失ゼロのフェイルオーバーを実現できます。
Oracle Data Guardのファスト・スタート・フェイルオーバーでも、人が介入する必要のない自動フェイ
ルオーバーを実行できます。
• 最高レベルの可用性:クライアントのデータベース接続は、透過的アプリケーション・フェイルオーバー
と高速接続フェイルオーバーにより、迅速かつ透過的にフェイルオーバーできます。アプリケーション
継続性(Oracle Database 12cで使用できる新機能)により、実行中のトランザクションもフェイルオー
バーされます。
• 継続的なデータ保護による容易な操作:ローカル・スタンバイ・データベースへのフェイルオーバーが実
行されると、リモート・スタンバイ・データベースがフェイルオーバーの発生を自動的に検出し、新し
いプライマリ・データベースからREDOを受信し始めるため、DR保護機能が常に維持されます。
• 低いコストとすぐれた柔軟性:ローカル・スタンバイ・データベースは、Active Data Guardによるプライマ
リ・データベースからの読取り専用ワークロードのオフロード、Active Data Guardによる高速増分バック
アップのオフロード、Oracle Data Guardスナップショット・スタンバイによるテスト・システムとしての
使用、データベースのローリング・アップグレードの実行といったさまざまな目的のために使用できます。
自動ギャップ解消
プライマリ・データベースとスタンバイ・データベースの接続が(ネットワーク障害またはスタンバイ・
サーバー障害により)切断された場合、使用している保護モードに応じて、プライマリ・データベースは引
き続きトランザクションを処理し、新しい接続が確立されるまでの間、スタンバイ・データベースに送信で
きないREDOのバックログを蓄積します(アーカイブ・ログ・ギャップとして報告し、転送ラグとして測
定)。この場合、Oracle Data Guardは、スタンバイ・データベースのステータスを監視し、接続が再確立さ
れたことを検出すると、スタンバイ・データベースとプライマリ・データベースを自動的に再接続し、再同
期させます。
5
Oracle Active Data Guard:リアルタイム・データ保護と可用性
REDO Applyサービス
REDO Applyサービスは、フィジカル・スタンバイ・データベース上で動作します。REDO Applyは、スタン
バイREDOログ・ファイルからREDOレコードを読み取り、Oracle検証機能を実行してREDOが破損していな
いことを確認してから、スタンバイ・データベースにREDOの変更を適用します。REDO Applyは、REDO転
送とは無関係に機能するため、プライマリ・データベースのパフォーマンスとデータ保護(リカバリ・ポイ
ント目標(RPO))はスタンバイ・データベースでのREDO Applyのパフォーマンスの影響を受けません。
REDO Applyサービスが停止するような極端な場合でも、Oracle Data Guardの転送は、REDOをスタンバイ・
データベースに送信することによってプライマリ・データベースのデータを引き続き保護し、スタンバイ・
データベースでは、後でREDO Applyが再開されたときに使用できるようにREDOがアーカイブされます。
Oracleデータの検証
Oracle Data Guardは、スタンバイ・データベースにREDOを適用する前に、Oracle Databaseプロセスを使用
して継続的にREDOを検証します。REDOは、プライマリ・データベースのログ・バッファから直接送信され
るため(ネットワーク経由のmemcpyファンクションに相当)、プライマリ・データベースのI/Oの破損から
完全に切り離されています。Oracle Databaseは、Oracleブロック形式に関する情報を使用して、多数の主要
インタフェースで、REDO転送やREDO Applyの実行時の破損検出チェックを可能にすることで、物理と論理
の両方のブロック内整合性を確保します。また、スタンバイ・データベースで実行されるソフトウェア・
コードパスは、プライマリ・データベースとは基本的に異なります。このため、プライマリ・データベース
に影響する可能性があるファームウェア・エラーおよびソフトウェア・エラーからスタンバイ・データベー
スが事実上切り離されます。
Oracle Data Guardは、書込み損失によって発生する発見されにくい破損も検出します。書込み損失は、永続
ストレージで実際に発生しなかった書込みの完了をI/Oサブシステムが確認すると発生します。このI/Oサブ
システムは、後続ブロックの読取りで古いバージョンのデータ・ブロックを返します。次に、このブロック
がデータベースの他のブロックの更新に使用されることで破損が広がります。Oracle Data Guardの書込み損
失検証は、スタンバイ・データベースによって行われ、書込み損失がプライマリ・データベースで発生して
もスタンバイ・データベースで発生しても、破損が検出されます。
保護モード
Oracle Data Guardには、コスト、可用性、パフォーマンス、およびデータ保護のバランスを取るための3つ
の異なるモードが用意されています。各モードは、特定のREDO転送メソッドを使用し、プライマリ・デー
タベースとそのスタンバイ・データベースとの接続が失われた場合のOracle Data Guardの構成の動作を定義
します。
6
Oracle Active Data Guard:リアルタイム・データ保護と可用性
Oracle Data Guardの保護モード
モード
データ損失のリスク
転送
スタンバイ・データベースからの確認がない場合の処理
Maximum
Protection
データ損 失ゼロ
二 重
障害保護
SYNC
トランザクションのREDOがディスクに書き込まれたことを示すスタンバイ・デー
タベースからの確認を受信してから、コミットの成功をアプリケーションに通知し
ます。
Maximum
Availability
データ損 失ゼロ
単 一
障害保護
SYNC FAST
SYNC FAR
SYNC
スタンバイ・データベースからの確認を受信するか、またはNET_TIMEOUTしきい
値に指定された期間が過ぎたら、いずれの場合もコミットの成功をアプリケーショ
ンに通知します。
Maximum
Performance
最小限のデータ損失の
可能性あり
ASYNC
プライマリはスタンバイからの確認を待つことなく、コミットの成功をアプリケー
ションに通知します。
Oracle Data Guard構成の管理方法
SQL*Plusを使用して、プライマリおよびスタンバイ・データベースとそれらのさまざまな相互作用を管理で
きます。また、Oracle Data Guardには、Oracle Data Guard構成の作成、メンテナンス、監視を自動化および
一元化するための、Oracle Data Guard Brokerと呼ばれる分散型管理フレームワークも実装されています。
Oracle Data Guard Brokerには、以下のような、Oracle Database 12cで使用できる多数の拡張機能が含まれて
います。
• REDO転送のラグおよびREDO Applyのラグに関する構成可能なしきい値により、ユーザーは、データ損失
の許容範囲(リカバリ・ポイント目標とも呼ばれる)を指定できます。Oracle Data Guard Brokerは、
データ損失がRPOを超える可能性が生じるような形でREDO転送またはREDO Applyが影響受ける場合に
は常に、警告ステータスを生成します。
• 新しいVALIDATE DATABASEコマンドにより、Oracle Data Guard構成でスイッチオーバーまたはフェイ
ルオーバー操作の準備が完了していることを確認するために広範囲の妥当性チェックが実行されます。
• 再開可能なスイッチオーバー:以前のリリースでは、スイッチオーバーが失敗すると、Oracle Data
Guard構成を削除して再作成する必要がありました。また、失敗状態を解消するためのすべてのアクショ
ンは、SQLコマンドラインから実行されました。再開可能なスイッチオーバー機能により、以下のいずれ
かの方法で、スイッチオーバーの失敗に対処できるようになりました。

問題を解決し、Oracle Data Guard Brokerスイッチオーバーを再実行します(中断したところから再開
されます)。

問題を解決している間、Oracle Data Guard Brokerを使用して元のプライマリ・データベースにスイッ
チバックします。

Oracle Data Guard Brokerを使用して、複数スタンバイ構成の別のスタンバイ・データベースにスイッ
チオーバーします。
データベース管理者は、Oracle Enterprise Manager Grid ControlまたはOracle Data Guard Brokerのコマンド
ライン・インタフェースを使用して、Oracle Data Guard Brokerを操作できます。Oracle Enterprise Manager
には、Oracle Data Guard構成の作成をさらに簡単にするウィザードがあります。Oracle Data Guardの主要な
メトリック(REDO Applyラグ、REDO転送ラグ、REDO速度、構成ステータスなど)は、Oracle Data Guard
管理ページ(図2を参照)と統合されたHAコンソールの両方に表示されます。Oracle Enterprise Managerは、
いずれかのメトリックが事前に構成されたしきい値を超えると、自動通報を有効にします。
7
Oracle Active Data Guard:リアルタイム・データ保護と可用性
図2:Oracle Enterprise Manager Cloud ControlでのOracle Data Guardの管理
ロール管理サービス - スイッチオーバーとフェイルオーバー
Oracle Data Guardのロール管理サービスを使用すると、指定したスタンバイ・データベースをプライマリ・
ロールに迅速に移行できます。スイッチオーバーは、オペレーティング・システムやハードウェアのアップ
グレード、Oracle Databaseのローリング・アップグレード、およびその他のデータベースのメンテナンスな
どの計画メンテナンス時の停止時間を短縮するために使用される計画的なイベントです。メンテナンスは最
初にスタンバイ・データベースで実行され、スイッチオーバーによって、プライマリ・データベースから新
バージョンで動作するスタンバイ・データベースへと本番環境が移行されます。スイッチオーバーは、使用
される転送方法や保護モードにかかわらず、常にデータ損失ゼロの操作です。
フェイルオーバーを行うと、元のプライマリ・データベースが計画外停止している間、スタンバイ・データ
ベースが新しいプライマリ・データベースとしてオンラインになります。フェイルオーバーでは、プライマ
リ・ロールを引き継ぐためにスタンバイ・データベースを再起動する必要はありません。また、元のプライ
マリ・データベースがマウント可能であり、そのファイルが損傷していないかぎり、フラッシュバック・
データベースを使用して、元のプライマリ・データベースを迅速に回復させてスタンバイ・データベースと
して再同期できます。バックアップからリストアする必要はありません。
手動フェイルオーバーは、Oracle Enterprise ManagerのGUIインタフェース、Oracle Data Guard Brokerのコ
マンドライン・インタフェース、またはSQL*Plusを使用して、DBAが開始します。オプションで、Oracle
Data Guardは、ファスト・スタート・フェイルオーバーを使用して自動フェイルオーバーを実行できます。
8
Oracle Active Data Guard:リアルタイム・データ保護と可用性
ファスト・スタート・フェイルオーバー
ファスト・スタート・フェイルオーバーでは、Oracle Data Guardは、事前に選択したスタンバイ・データ
ベースに自動的にフェイルオーバーできます。フェイルオーバーを起動するために人が介入する必要はあり
ません。Oracle Data Guardは、構成のステータスを継続的に監視し、必要に応じてフェイルオーバーを開始
します。ファスト・スタート・フェイルオーバーには、スプリット・ブレイン(複数のデータベースが同時
にそのデータベースをプライマリと認識する状態)を回避する制御が組み込まれています。このシンプルで
ありながら厳密に制御されたアーキテクチャにより、ファスト・スタート・フェイルオーバーは、HAとDR
の両方が必要な場合に最適です。
クライアント・フェイルオーバーの自動化
データベース・フェイルオーバーを迅速に実行する能力は、HAのための最初の要件にすぎません。アプリ
ケーションは、障害が発生したプライマリ・データベースへの接続をすみやかに解除し、新しいプライマ
リ・データベースに迅速に再接続できる必要もあります。
Oracle Data Guardのコンテキストにおける効率的なクライアント・フェイルオーバーには、次の3つの要素
があります。
• 高速データベース・フェイルオーバー
• 新しいプライマリ・データベースでのデータベース・サービスの高速起動
• クライアントへのすみやかな通知と新しいプライマリ・データベースへの再接続
Oracle Data Guard Brokerによって管理されるロール移行により、人が介入することなく、スタンバイ・デー
タベースのプライマリ・ロールへの自動移行、プライマリ・ロールに適したデータベース・サービスの開始、
障害が発生したプライマリ・データベースとの接続の解除(TCPタイムアウトからの切り離し)のクライア
ントへの通知、および新しいプライマリ・データベースへのクライアントの接続を実行できます。また、グ
ローバル・ロードバランサとDNSフェイルオーバーを使用してユーザー接続を新しい中間層にリダイレクト
する場合は、Oracle Data Guardのロール変更イベントを使用することによって、それを自動化できます。
アプリケーション継続性は、データベース・フェイルオーバーの発生時に実行中のトランザクションを、新
しいプライマリ・データベースでロールバックおよび再実行することなく完了させることを可能にする
Oracle Database 12cの新機能です。アプリケーション継続性は、Oracle Active Data Guardに含まれています。
Oracle Global Data Services(Oracle GDS)は、インテリジェントなロードバランシングとクライアント・
フェイルオーバーの概念を、可用性を維持するために複数のフェイルオーバー・ターゲットを使用できるグ
ローバルな分散環境に拡張するOracle Database 12cの新機能です。前述のOracle Data Guardの複数スタンバ
イ構成は、そのような環境の一例です。Oracle GDSは、Oracle Active Data Guardに含まれています。
9
Oracle Active Data Guard:リアルタイム・データ保護と可用性
Oracle Data Guardによる計画停止時間の短縮
Oracle Data Guardを使用して、さまざまな種類の計画メンテナンスにおける停止時間とリスクを軽減できま
す。一般的なアプローチでは、最初にスタンバイ・データベースに変更内容を実装し、テストしてからス
イッチオーバーを行います。スタンバイ・データベースでメンテナンスを行っている間、本番データベース
は、プライマリ・データベースで影響を受けずに動作します。停止時間は、本番データベースをアップグ
レードが完了したスタンバイ・データベースに切り替えるために必要な時間に限定されます。使用されるプ
ロセスの具体的な詳細は、行われているメンテナンスの種類によって異なります。
プラットフォームの移行、ハードウェアおよびオペレーティング・システムのメンテナンス、データセン
ターの移設
Oracle Data GuardのREDO Applyによって実現される柔軟性により、プライマリ・データベースとスタンバ
イ・データベースは、オペレーティング・システムまたはハードウェア・アーキテクチャが異なるシステム
上で動作できるようになります。Oracle Data Guard構成でサポートされている混合プラットフォームの組合
せについて、詳しくはMy Oracle Support Note 413484.1を参照してください 3。REDO Applyを使用すると、
テクノロジー更新や一部のプラットフォーム移行を最小限の停止時間で容易に実行できます。REDO Apply
は、自動ストレージ管理への移行、単一インスタンスのOracle DatabaseからOracle Real Application Clusters
(Oracle RAC)への移行、データセンターの移設にも使用できます。
Standby-First Patchによるパッチの保証
Standby-First Patch Apply(Oracle Database 11.2.0.1以降)により、フィジカル・スタンバイでREDO Apply
を使用することで、プライマリ・データベースとスタンバイ・データベースの間で異なるソフトウェア・
パッチ・レベルをサポートできます。これは、ローリング方式でOracleパッチを適用し、検証できるように
するための機能です。適合するパッチは、以下のとおりです。
• Patch Set Update、Critical Patch Update、Patch Set Exception、Oracle Databaseのバンドル・パッチ
• Oracle Exadata Database Machineのバンドル・パッチ、Oracle Exadata Storage Serverソフトウェアのパッチ
詳しくは、My Oracle Support Note 1265700.1を参照してください 4。
一時ロジカル・データベース・ローリング・アップグレード
一時ロジカル・データベース・ローリング・アップグレード・プロセスでは、Oracle Data Guardのフィジカ
ル・スタンバイ・データベースを使用して、最小限の停止時間で、完全なOracle Databaseパッチ・セットの
インストール(たとえば、Oracle 11.2.0.1から11.2.0.3へ)および主要リリースのインストール(たとえば、
Oracle 11.2から12.1へ)やデータベースのアップグレードが行われます。同じプロセスは、本番データベー
スのオフライン・コピーを使用して、データベースの論理構造を変更し、検証して、本番環境を変更された
バージョンに切り替える、さまざまな種類の計画的メンテナンスを実行する場合にも役立ちます。
一時ロジカル・プロセスは、プライマリ・データベースとフィジカル・スタンバイ・データベースによって開
始されます。Standby-First Patchを使用するときと同様に最初にスタンバイ・データベースがアップグレードさ
れますが、この場合、Oracle Data Guardの論理レプリケーション(SQL Apply)は、古いバージョンで動作する
3
https://support.us.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=413484.1
4
https://support.us.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1265700.1
10
Oracle Active Data Guard:リアルタイム・データ保護と可用性
プライマリ・データベースから新しいバージョンで動作するスタンバイ・データベースへのレプリケートのた
めに一時的に使用されます。REDO Applyとは異なり、論理レプリケーションは、バージョン間の同期のために
SQLを使用し、異なるOracleリリース間に存在する可能性のある物理REDO構造の違いの影響を受けません。
アップグレードの完了後、スイッチオーバー(唯一の停止時間)により、本番データベースが、スタンバ
イ・データベースで動作する新しいバージョンに移行されます。その後、元のプライマリ・データベースは、
アップグレード・プロセスが開始されたときの状態にフラッシュバックされ、新しいプライマリ・データ
ベースのフィジカル・スタンバイ・データベースに変換されます。フィジカル・スタンバイ・データベース
は、新しいOracleホームにマウントされて、アップグレードされ、新しいプライマリ・データベースから受
診したREDOを使用して再同期されます(2回目のカタログ・アップグレードは不要)。
Oracle Active Data Guard
Oracle Active Data Guardは、Oracle Database Enterprise Editionのオプションです。Oracle Active Data
Guardは、これまで説明したOracle Data Guardのすべての機能と、以下の機能を備えています。
リアルタイム問合せ – パフォーマンスとROI
Oracle Active Data Guardは、読取り専用のレポーティング・アプリケーション、非定型の問合せ、データ抽
出などのオフロードを実現するとともに、障害に対する保護も提供します。Oracle Active Data Guardは、最
高レベルのパフォーマンスを実現する高度にパラレル化された適用プロセスを持つと同時に、プライマリ・
データベースで使用される読取り一貫性モデルがスタンバイ・データベースでも使用される点で、他に類を
見ません。このような物理または論理レプリケーション・ソリューションは他にありません。
グローバル一時表に書き込んだり、一意のシーケンスにアクセスしたりするという要件を除けば、読取り専
用データベースを使用するレポーティング・アプリケーションも存在します。Oracle Active Data Guardには、
グローバル一時表への書込みや一意のシーケンスでのアクセスを可能にして、本番データベースからオフ
ロードできるレポーティング・アプリケーションの数をさらに増やす、Oracle Database 12cの新機能が含ま
れています。
Oracle Active Data Guardスタンバイ・データベースへの作業のオフロードによって、次の2つの重要なメ
リットが生まれます。
• 障害が発生するまで高価な資産が使用されない状態に終止符を打ち、スタンバイ・システムを生産的に使
用することによって、それらのROIが向上します。
• アクティブ・スタンバイが必要に応じてフェイルオーバー可能な状態になっている(この間も常にアク
ティブ・スタンバイは動作している)ことの継続的なユーザー検証により、不明な状態によるリスクが
排除されます。
自動ブロック修復機能 – 高可用性
ブロックレベルのデータ損失は、通常、断続的なランダムI/Oエラーや、ディスクへの書込みによるメモリの破
損によって生じます。Oracle Databaseは、ブロックを読み取り、破損を検出すると、ブロックに破損のマーク
を付け、アプリケーションにエラーを報告します。そのブロックに対する後続の読取りは、Oracle Active Data
Guardを使用していないかぎり、そのブロックを手動でリカバリするまで成功しません。
11
Oracle Active Data Guard:リアルタイム・データ保護と可用性
Oracle Active Data Guardは、アプリケーションに透過的なブロック・メディア・リカバリを自動実行します。
Oracle Active Data Guardは、スタンバイ・データベースから取得される正常なバージョンのブロックを使用し
て、プライマリ・データベース上の物理的な破損を修復します。反対に、スタンバイ・データベースで検出さ
れた破損ブロックは、プライマリ・データベースの正常なバージョンのブロックを使用して自動的に修復され
ます。
また、アクティブ・スタンバイ・データベース上の物理的な破損は、プライマリ・データベースでブロック
が変更されていない場合やスタンバイ・データベースで動作するアプリケーションによってブロックが読み
取られた場合でも、検出され、自動的に修復されます。これは、プライマリ・データベースとスタンバイ・
データベースの両方でOracle Data Guardの書込み損失保護を有効にすることによって実行されます。この方
法は、トランザクションが古いデータを使用することによって発生する発見されにくい破損を検出するため
の標準のベスト・プラクティスです。書込み損失保護には、スタンバイ・データベースで実行される物理的
な破損の検証の全体的なレベルを劇的に向上させるという副次的なメリットもあります。データが変更され
ても変更されなくても、プライマリ・データベースで読み取られたブロックごとに、スタンバイ・データ
ベースで書込み損失検証が実行されます。この方法でスタンバイ・データベースのブロックが読み取られる
と、物理的なブロック破損に関する追加のチェックが実行され、スタンバイ・データベースでのみ発生し、
プライマリ・データベースでは発生しない障害が検出されます。
Far Sync - いかなる距離でもデータ損失ゼロの保護
データ損失ゼロの同期保護がデータベースのパフォーマンスに与える影響により、望ましくない妥協に結び
つく場合があります。サイト間が遠く離れている場合は、保護について妥協し、非同期転送を使用して、許
容可能なパフォーマンスの代わりにデータの損失を受け入れる必要があります。どうしてもデータ損失をゼ
ロにする必要がある場合は、遠隔サイトによる保護について妥協し、同じ都市圏内にすべてのサイトを配置
する必要があります。Oracle Database 12cがリリースされるまでは、長距離間でデータ損失ゼロを実現でき
る実行可能なオプションは、1つ以上の独自仕様の高価なストレージ・アレイ、専用のネットワーク・デバ
イス、複数のOracle Data Guardスタンバイ・データベース(ローカルとリモート)、および複雑な管理手順
を特徴とする3サイト・アーキテクチャだけでした。
Oracle Database 12cの新機能であるOracle Active Data Guard Far Syncは、複雑さを増大させることなく最小
限のコストで、データ損失ゼロの保護をプライマリ・データベースから任意の距離にあるスタンバイ・デー
タベースへと拡張することにより、妥協点をなくします。
Far Syncは、Oracle Active Data Guardの新しいタイプの転送先です。これは、Far Syncインスタンスと呼ば
れ、プライマリ・データベースからREDOを同期受信し、そのREDOを最大29のリモート送信先に非同期転送
します。Far Syncインスタンスは、制御ファイルとログ・ファイルのみを管理する軽量のエンティティです。
スタンバイ・データベースのわずかなCPU、メモリ、I/Oを必要とします。ユーザーのデータ・ファイルを保
持することはなく、REDO Applyを実行することもありません。唯一の目的は、リモート送信先にREDOを送
信するプライマリ・データベースのオーバーヘッドを透過的にオフロードすることです。Far Syncでは、
Oracle Advanced Compressionを使用する場合に発生するREDO転送圧縮に関するプライマリ・データベース
のオーバーヘッドをオフロードすることにより、ネットワーク帯域幅も節約されます。
12
Oracle Active Data Guard:リアルタイム・データ保護と可用性
例として、ニューヨークにあるプライマリ・データベースとロンドンにあるスタンバイ・データベースの間
で非同期転送を実行する既存のOracle Data Guard構成について考えます。Oracle Active Data Guardにアップ
グレードし、単にニューヨークの同期レプリケーション距離(推定48~240km)内にある第3の場所にFar
Syncインスタンスを配備するのみで、データ損失ゼロを実装します。プライマリ・データベースと互換性が
あれば、どのようなサーバーでも使用できます。独自規格のストレージ、専用のネットワーク・デバイス、
追加のライセンス、および複雑な管理は不要です。プライマリ・データベースに障害が発生すると、すべて
のOracle Data Guard構成で使用されるものと同じフェイルオーバー・コマンドやファスト・スタート・フェ
イルオーバーによる自動フェイルオーバーによって、ロンドンのデータベースがプライマリ・ロールに迅速
に移行し、データ損失は発生しません。
図3:Active Data Guard Far Sync – リモート・スタンバイ・データベースへのデータ損失ゼロのフェイルオーバー
Oracle Active Data Guardによるデータベース・ローリング・アップグレード
企業では、ミッション・クリティカルな本番環境に変更を加える際の計画停止時間の短縮とリスクの軽減に対
する優先度が高まっています。データベース・ローリング・アップグレードには、次の2つの利点があります。
• 最小限の停止時間:データベースのアップグレードや、データベースの物理構造を変更する(ユーザー表の
実際の構造の変更を除く)その他のさまざまな計画的メンテナンスは、本番環境をプライマリ・データ
ベースで動作させたまま、スタンバイ・データベースで実施できます。すべての変更が検証されると、ス
イッチオーバーにより本番アプリケーションがスタンバイ・データベースに移行され、ユーザーが新しい
バージョンで操作している間に元のプライマリ・データベースをアップグレードできます。計画停止時間
は、全体で、本番データベースをスタンバイ・データベースに切り替えるために必要なわずかな時間に限
定されます。
• 最小限のリスク:すべての変更がスタンバイ・データベースで実装され、完全にテストされるため、本
番バージョンで操作するユーザーにはリスクがありません。Oracle Real Application Testingを使用して、
実際のアプリケーション・ワークロードを本番システムで取得し、スタンバイ・データベースで再生す
ることにより、本番サービス・レベルに影響を与える可能性のない厳密に制御された環境において実際
の本番ワークロードが本番データベースの完全なコピー上で実行されるため、最大限に正確なテスト結
果を得ることができます。これとは異なり、本番データベースにおいてメンテナンスをオンラインで行
う場合でさえ、本番環境から完全に分離された個別のコピー上でメンテナンスを行いたいときは、デー
タベース・ローリング・アップグレードを使用できます。
13
Oracle Active Data Guard:リアルタイム・データ保護と可用性
データベース・ローリング・アップグレードでは、Oracle Data Guard SQL Applyを使用する必要があります。
Oracle Database 11gでは、物理スタンバイ・ユーザーがデータベース・ローリング・アップグレードを行うこ
とを可能にする一時ロジカル・ローリング・アップグレード・プロセス(一連の複雑な手動の手順によって実
行される)が導入されました。複雑さは常にリスクを増大させるため、当然のことながら、多くの物理スタン
バイ・ユーザーが、比較的単純な従来のアップグレードを使用しました。しかし、従来のアップグレードは、
長い停止時間と前述のような別のリスク要素という企業にとって望ましくない2つの事柄を生み出します。
Oracle Database 12cの新機能であるOracle Active Data Guardによるデータベース・ローリング・アップグレー
ドは、一時ロジカル・ローリング・アップグレードを実行するために必要な40以上の手動の手順を、ほとんど
のプロセスを自動化する3つのPL/SQLパッケージに置き換えることにより、複雑さに関する懸念を解消します。
Oracle Active Data Guardによるデータベース・ローリング・アップグレードは、Oracle Database 12cの最初
のパッチ・セット以降のバージョン・アップグレードに使用できます。これは、Oracle Database 11gから
Oracle Database 12cへのローリング・アップグレードまたはOracle Database 12cの最初のリリースから
Oracle Database 12cの最初のパッチ・セットへのアップグレードでは依然として、このホワイト・ペーパー
ですでに説明したOracle Data Guardによる手動の手順を使用する必要があることを意味します。
しかし、Oracle Database 12c以降のデータベース構造を変更するようなメンテナンス作業では、Oracle
Active Data Guardの新機能をすぐに使い始めることができます。これらの作業には、以下のものが含まれま
す。
• パーティション化されていない表へのパーティションの追加
• BasicFile LOBのSecureFile LOBへの変更
• CLOBとして格納されるXMLTypeのバイナリXMLとして格納されるXMLTypeへの変更
• 表の圧縮
アプリケーション継続性
高速アプリケーション通知(FAN)は例外条件をアプリケーションに迅速に配信するOracle Databaseの機能
ですが、アプリケーションの観点からは、最後のトランザクションの結果が報告されず、進行中のリクエス
トがリカバリされることもありません。その結果、動作の停止が表面化し、ユーザーの不便や収益の減少に
つながる場合があります。また、ユーザーが誤って二重に購入したり、同じ請求に対して複数回の支払いを
行ったりする可能性もあります。これらの欠点、複雑なサポート、および継続的な開発に対処するために、
開発者は、カスタム・アプリケーション・コードを作成して保持する以外に選択肢がありませんでした。
アプリケーション継続性は、アプリケーションの観点から完了していないリクエストをリカバリし、多数の
システム、通信、およびハードウェアの障害やストレージの停止が表面化してエンドユーザーに影響を与え
ることを防ぐ、アプリケーションに依存しないOracle Database 12cの新機能です。これにより、エンドユー
ザーのトランザクションが複数回実行されることもなくなります。アプリケーション継続性は、Oracle
Active Data Guardに付属しています。
14
Oracle Active Data Guard:リアルタイム・データ保護と可用性
Oracle Global Data Services
Oracle Global Data Servicesは、よく知られたOracle RACスタイルの接続時および実行時ロードバランシング
機能、サービス・フェイルオーバー機能、ワークロード管理機能(単一のデータセンター内または複数の
データセンター間)をレプリケーションされたデータベースのセットに拡張するOracle Database 12cの新機
能です。Oracle GDSは、Oracle Active Data Guardに付属しています。
関連テクノロジー
ストレージのリモート・ミラー化
ストレージのリモート・ミラー化(EMC SRDF、Hitachi TrueCopyなど)は、データベース・ファイルのリ
モート同期コピーの保持に関する一般的なアプローチです。ストレージのリモート・ミラー化は、Oracle
Database内に存在しないデータのレプリケートについては重要な役割を果たしますが、Oracle Active Data
Guardスタンバイ・データベースと同じレベルのOracle Databaseの保護、可用性、機能、およびROIを実現
するには、データベース内部またはブロック構造に関する情報が不足しています。
Oracle DatabaseでI/O(たとえば、データ・ファイル、制御ファイル、フラッシュバック・ログ・ファイル、オ
ンライン・ログ・ファイル、アーカイブ・ログ・ファイルへの書込み)を発生させるデータベース・プロセス
は多数あります。各プロセスは本番データベースに関して最大限のパフォーマンスとリカバリ能力を実現する
ように設計されていますが、I/Oの総量によっては、リモート・レプリカのリアルタイム同期を維持するために
すべてのファイルへのすべての書込みをミラー化する必要のあるストレージのリモート・ミラー化ソリュー
ションにとって問題となる場合があります(図4を参照)。テストの結果によると、ストレージのリモート・
ミラー化では、リアルタイム・データ保護を維持するためにOracle Data Guardよりも最大7倍のボリュームの
データが送信され、27倍以上のネットワークI/O操作が行われる可能性のあることが示されています。
図4:ストレージのリモート・ミラー化 – リアルタイム保護ではすべてのファイルへのすべての書込みをミラー化しなければならない
対照的に、Oracle Data Guardは、Oracleが認識する軽量のレプリケーション・プロセスを使用して、帯域幅の消
費をプライマリ・データベースによって生成されるREDOボリューム(図4に示されるリカバリ・ファイルに書
き込まれる1本の赤色のデータ・ストリームに相当するボリューム)に限定します。他には何も送信されません。
Oracle Data Guardは、このREDOをメモリから直接送信することで、プライマリ・データベースでのディスクI/O
への影響を排除するとともに、ストレージ層で発生する破損からの完全な分離を実現します(図5を参照)。
15
Oracle Active Data Guard:リアルタイム・データ保護と可用性
図5:Oracle Data Guard – ネットワークの消費が削減されるとともに、破損からの強力な分離が実現される
帯域幅消費の削減は、Oracle Active Data Guardの使用による一つのメリットに過ぎません。その他の重要な
メリットは、以下のとおりです。
• プライマリ・データベースとスタンバイ・データベースの強力な物理的分離により、管理者のエラー(ス
トレージ管理作業による重要なデータベースやその他のファイルの誤った削除など)による影響が広が
りません。
• 動作中のOracle Databaseインスタンスによって変更がスタンバイ・データベースに適用される前に、
Oracleが認識する物理および論理ブロックのチェックによる継続的な検証が実行されます。この検証に
より、破損がプライマリ・データベースからスタンバイ・データベースに広がることが防止され、
Oracle Active Data Guardを使用するプライマリ・データベースまたはスタンバイ・データベースのいず
れのディスクでも独立して発生する物理的なブロックの破損が検出され、自動的に修復されます。
• 読取り専用レポート、非定型の問合せ、Oracle Data Pumpの本番オフロードがOracle Active Data Guard
スタンバイ・データベースにエクスポートされ、最大限のROIが実現されます。
• リスクが軽減されるとともに高可用性が実現されます。Oracle Active Data Guardは、ミラー化されたボ
リュームによるデータベースのコールド起動が成功するかどうかに関する不確実性を排除します。また、
ボリュームがマウントされる間の遅延も排除します。Oracle Active Data Guardスタンバイ・データベース
は、常に稼働状態で、本番環境として使用する準備が完了しています。このスタンバイ・データベースは、
読取り専用のワークロードを使用して、継続的なOracle Database検証とエンドユーザー検証を実行します。
• ローリング方式でデータベースのメンテナンスを実行できるため、計画停止時間が短縮されます。
Oracle GoldenGate
Oracle Active Data GuardとOracle GoldenGateはどちらも、オラクルのソフトウェア・ポートフォリオに含
まれる戦略的製品です。これらの製品はどちらもおおまかにはレプリケーション・テクノロジーとして分類
されますが、それぞれの重点領域は大きく異なります。
Oracle Active Data Guardを使用するケース
Oracle Active Data Guardは、レプリケーションをアクティブにしたまま読取り専用でオープンされる本番デー
タベースの正確な物理レプリカを遠隔地に維持することにより、もっとも単純かつもっとも経済的な方法に
よってOracle Databaseの最高レベルのデータ保護と可用性を実現します。単純さ、最高レベルのデータ保護、
データ可用性、最高レベルのパフォーマンスを重視する場合は、Oracle Active Data Guardを使用してください。
16
Oracle Active Data Guard:リアルタイム・データ保護と可用性
Oracle GoldenGateを使用するケース
Oracle GoldenGateは、高度な論理レプリケーション製品であり、双方向のマルチマスター・レプリケー
ション、ハブ・アンド・スポーク配置、データ変換をサポートすることで、あらゆる種類のレプリケーショ
ン要件に対応した非常に柔軟なオプションを提供しています。また、さまざまな異種プラットフォームおよ
びデータベース管理システム間のレプリケーションをサポートしています。
Oracle Active Data Guardとは異なり、Oracle GoldenGateはディスクからREDOレコードを読み取り、これら
のレコードをプラットフォームに依存しない証跡ファイルの形式に変換してターゲット・データベースに送
信することで、プライマリ・データベースの変更を取得します。また、証跡ファイルをSQLに変換し、この
SQLをターゲット・データベースに適用することで、論理レプリカを維持します。ターゲット・データベー
スは、同期化中も読取り/書込みモードでオープンされます。
レプリカ・データベースを、レプリケーションをアクティブにしたまま読取り/書込みモードでオープンに
する必要がある場合、または、Oracle Active Data Guardでは対処できない高度なレプリケーション要件があ
る場合は、Oracle GoldenGateを使用してください。
Oracle Active Data GuardとOracle GoldenGateをいっしょに使用するケース
Oracle Active Data GuardとOracle GoldenGateの両方のテクノロジーを使用する次の高可用性アーキテクチャ
の例でも明らかなように、これらのテクノロジーが相互に排他的ではないことを強調することは重要です。
• Oracle Active Data Guardスタンバイ・データベースは、ミッション・クリティカルなOLTPデータベース
の障害に対する保護とローリング・アップグレードのために使用されます。Oracle GoldenGateは、エン
タープライズ・データウェアハウスのETL更新のためにOracle Data Guardプライマリ・データベースから
(またはOracle GoldenGate ALOモードを使用するスタンバイ・データベースから)データを抽出するた
めに使用されます。
• Oracle Active Data Guardがディザスタ・リカバリに使用されますが、Oracle Active Data Guardが直接支
援できない計画的メンテナンスのアクティビティ(クロスエンディアン・プラットフォーム移行、バッ
クエンド・データベース・オブジェクトを変更するアプリケーション・アップグレードなど)に対処す
るためにOracle GoldenGateの柔軟性が使用されます。Oracle GoldenGateは移行やアップグレードを実
行するために使用され、それが完了すると、新しい本番環境の障害に対する保護を実現するために新し
いOracle Data Guardスタンバイ・データベースが配備されます。
これらのテクノロジーのいずれかまたは両方の使用が最適な要件について詳しくは、『Oracle Active Data
Guard and Oracle GoldenGate』を参照してください 5。
5
http://www.oracle.com/technetwork/database/features/availability/dataguardgoldengate-096557.html
17
Oracle Active Data Guard:リアルタイム・データ保護と可用性
Oracle Real Application Clusters
Oracle Active Data GuardとOracle RACまたはOracle RAC One Nodeは補完的なテクノロジーです。Oracle RAC
は、サーバー障害からの保護に最適なHAソリューションを提供するとともに、クラスタ環境でのワークロー
ド管理とスケーラビリティのために独自の機能も提供します。Oracle Data Guardスタンバイ・データベース
は、強力な分離とエンド・ツー・エンドの冗長性を実現することによって、Oracle RACプライマリ・データ
ベースを保護するために使用されます。これにより、クラスタ全体が使用できなくなる問題(データベース
障害やサイト障害を引き起こすデータの破損、オペレータのミス、複数の相関障害など)が発生した場合で
も、データが保護され、高度なHAが実現されます。Oracle Data Guardにより、オンラインで行うことができ
ない、または複数のOracle RACにわたるローリング方式の計画的メンテナンスでの停止時間が短縮されます。
Oracle Multitenant
Oracle Multitenantは、データベース統合のためのまったく新しいアーキテクチャを提供する、Oracle
Database 12cの新しいオプションです。マルチテナント・アーキテクチャにより、複数のOracle Databaseが
統合された(それぞれプラガブル・データベース(PDB)と呼ばれる)、単一のOracle Databaseソフトウェ
ア群(マルチテナントのコンテナ・データベース(CDB))の下で動作します。アーキテクチャ上の区別は、
各PDB(ユーザー・データおよびメタデータ)とそのCDB(Oracleメタデータ)の間で行われます。PDBは、
CDBに含まれない従来のOracle Databaseと互換性を持ちます。
Oracle Data GuardとOracle Active Data Guardは、コンテナ・レベルで保護を提供することにより、マルチテ
ナント・アーキテクチャにおいて透過的に機能します。たとえば、50のPDBを含むCDBは、単一のOracle
Data Guardスタンバイ・データベースを持ち、単一のOracle Data Guard構成として管理されます。Oracle
Enterprise Manager Cloud Controlでの1つのコマンドの実行またはマウスの1回のクリックにより、すべての
PDBがディザスタ・リカバリ・サイトに一度にフェイルオーバーまたはスイッチオーバーされます。
CDBは、ストレージ・コンシステンシ・グループに似たポイント・イン・タイム機能も提供します。上記の
例において、50のPDBはすべて、Oracle Data Guardフェイルオーバーの実行後に、自動的に、全体的に一貫
した時点を持ちます。これは、複数のデータベースにまたがる時点依存関係がある場合には重要な特性です。
そのようなデータベースは、ストレージのリモート・ミラー化を使用する場合は事前に同じコンシステン
シ・グループに入れることができ、Oracle Data Guardを使用する場合は一貫性のあるポイント・イン・タイ
ム・リカバリのために複数回のフラッシュバック操作が必要になります。
Oracleエンジニアド・システムとOracle Data Guard
Oracle Data Guardは、Oracleエンジニアド・システムで動作するOracle Databaseに使用できるディザスタ・
リカバリ・ソリューションです。Oracle Data Guardフィジカル・スタンバイ・データベースは、Oracle
Exadata Database Machineによって動作する非常に大きな容量のデータをサポートできる唯一のレプリケー
ション・テクノロジーです 6。Oracle Data Guard REDO Applyは、Oracle Exadata上のすべてのワークロード
(大規模データウェアハウス、WebスケールOLTPアプリケーション、データベース統合など)をサポートす
る実際の環境で、その能力を証明しています。Oracle Exadata上でOracle Active Data Guardを使用する各種
のワークロードの注目すべき例には、以下のものがあります。
6
http://www.oracle.com/technetwork/jp/database/features/availability/maa-wp-dr-dbm-130065-ja.pdf
18
Oracle Active Data Guard:リアルタイム・データ保護と可用性
• 大きな負荷のETL処理の実行中でも800MB/秒以上の速度を維持してOracle Data GuardがOracle Exadataス
タンバイ・データベース(11.2.0.3)に変更を適用した本番データウェアハウス。
• Oracle Open Worldで行われたプレゼンテーションにおいてPayPalによって紹介された、Webスケール
で配備され、Oracle Active Data Guardによって保護された、世界でももっとも要求の厳しいOLTPアプ
リケーションの一つ 7。
• コストを削減するとともにサービス・レベルを向上させるOracle Active Data Guardを使用して、Garmin
InternationalによってOracle Exadata上に配備された統合データベース環境 8。
顧客事例
Oracle Data Guardの機能は、Oracle Version 7で始めて利用可能になり、後続のOracleリリースで継続して拡
張され、さらに充実したものになっています。このことから、Oracle Data GuardおよびOracle Active Data
Guardは、世界中の顧客のミッション・クリティカルなアプリケーションに使用されています。多くの詳細
な実装の事例は、Oracle Technology Networkで入手できます 9。
結論
Oracle Active Data Guardは、本番データベースの正確な物理レプリカを遠隔地に維持することにより、もっ
とも単純でもっとも経済的な方法によってOracleデータの最高レベルのデータ保護と可用性を実現します。
他のテクノロジー(ストレージのリモート・ミラー化、論理レプリケーションなど)でも本番データベース
の同期コピーを保持できますが、Oracleデータを保護するために使用する場合はどれも、コスト、複雑さ、
破損の検出、自動修復、可用性、投資収益率といった領域のいずれか、または複数の領域において大きな妥
協が必要になります。Oracle Active Data Guardは、Oracle Databaseとの緊密な統合と、Oracleデータに関す
るリアルタイム・データ保護および可用性の実現への十分な特化により、妥協を排除します。
7
http://www.oracle.com/technetwork/database/availability/11256-exadata-oltp-paypal-1864630.pdf
8
http://www.oracle.com/technetwork/database/availability/garmin-1667151.pdf
9
http://www.oracle.com/technetwork/database/features/availability/ha-casestudies-098033.html
19
Oracle Active Data Guard:リアルタイム・データ保護と可用性
付録:Oracle Active Data GuardおよびOracle Data Guardの
新機能
領域
Oracle Database 12cで使用できる新機能
Oracle Active Data Guard
グローバル一時表に関するDML操作が、Oracle Active Data Guardスタンバイ・データベースでサポートされます。プ
ライマリ・データベースで作成される一意のグローバルまたはセッション・シーケンスにも、Oracle Active Data
Guardスタンバイ・データベース上で動作するレポーティング・アプリケーションからアクセスできます。
Oracle Active Data Guard
リアルタイム・カスケードにより、REDOを受信するスタンバイ・データベースは、REDOがスタンバイREDOログ・
ファイルにアーカイブされるのを待たずに、受信直後にREDOを別のスタンバイ・データベース(カスケード接続され
た送信先)に非同期転送できます。
Oracle Active Data Guard
Oracle Active Data Guard Far Syncは、制御ファイルとログ・ファイルだけを持つ軽量のインスタンスで構成される新
しいタイプのリモート転送先です。プライマリ・データベースからREDOを同期受信し、そのREDOを最大29の他のリ
モート送信先に非同期転送します。すべてのOracle Data Guard構成で使用されるものと同じフェイルオーバー・コマ
ンドにより、Far Syncによって提供される任意のスタンバイ・データベースへのデータ損失ゼロのフェイルオーバー
が透過的に実行されます。Far SyncインスタンスでOracle Advanced Compressionを使用して、ネットワーク帯域幅を
節約すると同時に、圧縮に必要なCPUサイクルをプライマリ・データベース・ホストからオフロードすることもでき
ます。
Oracle Active Data Guard
Oracle Active Data Guardによるデータベース・ローリング・アップグレードでは、40以上の手動の手順が3つの
PL/SQLパッケージに置き換えられ、一時ロジカル・データベース・ローリング・アップグレード・プロセスが大幅に
簡素化されます(フィジカル・スタンバイ・データベースでSQL Applyを一時的に使用することにより、ローリング・
アップグレード時に複数のデータベース・バージョンにわたる同期が実行されます)。
Oracle Active Data Guard
アプリケーション継続性は、アプリケーションの観点から完了していないリクエストのリカバリを試みて、多数のシ
ステム、通信、およびハードウェアの障害やストレージの停止が表面化してエンドユーザーに影響を与えることを防
ぐ、アプリケーションに依存しない機能です。これにより、エンドユーザーのトランザクションが複数回実行される
こともなくなります。Oracle Active Data Guardには、アプリケーション継続性のライセンスが含まれています。
Oracle Active Data Guard
Oracle Global Data Servicesは、よく知られたOracle RACスタイルの接続時および実行時ロードバランシング機能、
サービス・フェイルオーバー機能、ワークロード管理機能(データセンター内または複数のデータセンター間)をレ
プリケート・データベースのセットに拡張します。
Oracle Data Guard
Fast Syncでは、最大可用性保護モードを、同期転送の輸送およびNOAFFIRM属性とともに使用できます。これによ
り、ラウンドトリップの合計時間からスタンバイREDOログのI/Oの時間が除外され、データ損失ゼロの同期構成に関
してプライマリ・データベースのパフォーマンスが改善されます。
Oracle Data Guard
Oracle RACプライマリ・データベースからフィジカル・スタンバイ・データベースへのスイッチオーバーで、管理者
は、1つのプライマリ・データベース・インスタンス以外はシャットダウンする必要がなくなります。
Oracle Data Guard
データベースがアクティブにファイルにアクセスしているときに、オンライン・データ・ファイルの位置を物理ファ
イル間で移動できます。プライマリ・データベース上での移動はスタンバイ・データベースに影響を与えません(そ
の逆も同様)。リカバリをアクティブにしたままスタンバイ・データベース上でオンライン・データ・ファイルを移
動するには、Oracle Active Data Guardが必要です。
Oracle Data Guard
Oracle Data GuardとOracle Active Data Guardは、Oracle Multitenantをサポートします。Oracle Data Guardは、マルチテ
ナントのコンテナ・データベースレベルで動作し、統合環境における効率的なディザスタ・リカバリを実現します。
Oracle Data Guard
SQL Applyは、追加のデータ型をサポートします。これらのデータ型は、すべてのストレージ・モデルのXMLTypeデータ
(互換性要件が満たされる場合)、オブジェクトとコレクション(VARRAY、ネストされたコレクションを含む)、データ
ベース・ファイル・システム(DBFS)、XDB、Oracle SecureFiles(重複排除)です。また、以前にデータベース・ロー
リング・アップグレードにOracle Data Guardを使用する場合に存在した障害を排除するために、ユーザー定義のデータ型
が追加されました。SQL Applyは、データベース・ローリング・アップグレードのコンテキストに固有の制御された方法
において、データベース・ロール固有のジョブや、スケジューラ・ジョブのレプリケーションでDBMS_SCHEDULERをサ
ポートします。拡張データ型サポート(EDS)により、ネイティブのREDOベースのサポートをもたない特定のデータ型
をSQL Applyがサポートするためのメカニズムも提供されます。たとえば、トップレベルのVARRAY列を持つ表を、EDS
を使用してレプリケートできます。
Oracle Data Guard
Oracle Data Guardに、特権を基本管理タスクに制限する固有の管理権限であるSYSDGが追加されました。
20
Oracle Active Data Guard:リアルタイム・データ保護と可用性
Oracle Data Guard Broker
Oracle Data Guard Brokerは、比較的単純な構成や、データベース・ロールに応じて異なる転送方法(SYNCまたは
ASYNC)が使用される、より複雑な複数のスタンバイOracle Data Guard構成の管理のための新しいOracle Data
Guard BrokerパラメータであるRedoRoutesをサポートしました。
Oracle Data Guard Broker
新しいOracle Data Guard Brokerのデータベース検証コマンドにより、ロールの変更の前に、一連の包括的なデータ
ベース・チェックが実行されます。このチェックでは、Oracle Data Guardのさまざまなビューと自動診断リポジト
リで提供される情報が使用されます。
Oracle Data Guard Broker
Oracle Data Guard Brokerは、REDO ApplyのラグおよびREDO転送のラグに関するユーザーが構成可能なしきい値を
有効にします。これにより、データ損失が、設定したリカバリ・ポイント目標を超えると、自動的に信号が送信され
ます。
Oracle Data Guard Broker
再開可能なスイッチオーバーにより、管理者は、コマンドを最初に実行したときに完了を妨げる問題が発生したス
イッチオーバー操作を完了できます。管理者は、問題を解決してスイッチオーバーを再開するか、プライマリ・デー
タベース/スタンバイ・データベースを元の状態に戻すことができます。Oracle Data Guard Broker構成を終了した
り、再作成したりする必要はありません。
Oracle Data Guard Broker
Oracle Data Guard BrokerがサポートするOracle Data Guard構成は、Oracle Multitenant、カスケードされたスタンバ
イ・データベース、Oracle Active Data Guard Far Sync、Oracle Active Data Guardによるデータベース・ローリン
グ・アップグレード、およびグローバル・データ・サービスです。
Oracle Recovery Manager
(Oracle RMAN)
スタンバイ・データベースまたはネットワークの停止後のアーカイブ・ログ・ファイルによるプライマリ・データ
ベースとスタンバイ・データベースの自動再同期化は、Oracle Data Guard転送によって常に支援してきました。必要
なアーカイブ・ログ・ファイルがディスク上になくなるような長時間の停止の場合は、Oracle RMAN高速増分バック
ア ッ プ を 使 用 し て 手 動 で 再 同 期 化 で き ま す 。 Oracle Database 12c で は 、 新 し い 単 一 の Oracle RMAN コ マ ン ド
(RECOVER DATABASE .. FROM SERVICE)の使用により、手動の再同期化プロセスがさらに簡単になっています。
21
Oracle Active Data Guard:リアルタイム・
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
データ保護と可用性
本文書は情報提供のみを目的として提供されており、ここに記載される内容は予告なく変更されることがあります。本文書は一切間違いがないこ
2013年6月
とを保証するものではなく、さらに、口述による明示または法律による黙示を問わず、特定の目的に対する商品性もしくは適合性についての黙示
著者:Oracle High Availability Product Management
Oracle Corporation
World Headquarters
500 Oracle Parkway
的な保証を含み、いかなる他の保証や条件も提供するものではありません。オラクル社は本文書に関するいかなる法的責任も明確に否認し、本文
書によって直接的または間接的に確立される契約義務はないものとします。本文書はオラクル社の書面による許可を前もって得ることなく、いか
なる目的のためにも、電子または印刷を含むいかなる形式や手段によっても再作成または送信することはできません。
OracleおよびJavaはOracleおよびその子会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標です。
Redwood Shores, CA 94065
IntelおよびIntel XeonはIntel Corporationの商標または登録商標です。すべてのSPARC商標はライセンスに基づいて使用されるSPARC International,
U.S.A.
Inc.の商標または登録商標です。AMD、Opteron、AMDロゴおよびAMD Opteronロゴは、Advanced Micro Devicesの商標または登録商標です。
海外からのお問い合わせ窓口:
電話:+1.650.506.7000
ファクシミリ:+1.650.506.7200
www.oracle.com
UNIXは、The Open Groupの登録商標です。0113
Fly UP