企業の財務情報や顧客管理にはデータベースを利用するものですが、万が一、障害が発生してデータが破損してしまうと一大事です。
そうなる前の備えとして、Oracle Data Guardの導入を検討しているご担当者様もいらっしゃるでしょう。
そこで本記事では、Oracle Data Guardの概要と、導入に際する構成手順を紹介します。
「自社の重要な情報が詰まったデータベースを安全に活用していきたい」とお考えのご担当者様は、ぜひご一読ください。
目次
Oracle Data Guardとは
そもそもOracle Data Guardとは、Oracle Database Enterprise Editionに含まれる、企業データの保護および障害発生時のリカバリーを保障する機能のことです。
Oracle Data Guardでは、データの変更履歴(REDO)を利用して、メインとして使用するデータベースの複製を作成します。
さらに複製したデータベースは、元のデータベースと入れ替えて使用することもできます。
そのため、データベース障害やリージョン障害などが発生した際にも、データベースの迅速な復旧が叶うというわけです。
また、メンテナンスによる計画停止においても、データベースの停止時間を最小限に抑えられます。
これらの機能によって、データの可用性が担保されるのです。
データベースを管理する担当者にとっては、このような機能こそ求めていたものではないでしょうか。
ただ単にデータベースの複製を作成するのではなく、すぐに切り替えて運用できるバックアップを残しておくことは非常に大切です。
万が一システム障害が発生しても、自社のデータベースを守りつつ持続的に運用したいのであれば、Oracle Data Guardがうってつけといえます。
Oracle Data Guardで扱うデータベースの種類
データベースの複製を作成して、さまざまな障害に備えられるOracle Data Guardですが、利用時に扱うデータベースは一つではありません。
実際に導入する前に、各データベースの種類を押さえておきましょう。
ここでは、メインのデータベースである“プライマリ・データベース”と、それを複製した“スタンバイ・データベース”の2つに大別して紹介します。
なお、スタンバイ・データベースは、さらに“フィジカル・スタンバイ・データベース”と、“ロジカル・スタンバイ・データベース”の2つのタイプに分かれています。
以下で詳しくお伝えしますので、ご参照ください。
プライマリ・データベース
Oracle Data Guardの構成には、本番環境で使用するデータベースである“プライマリ・データベース”が一つ含まれています。
本番データベースともよばれており、メインで扱うデータベースのことを指します。
自社で扱うほとんどのアプリケーションがアクセスするデータベースであることから、これに格納されているデータは絶対に失うわけにはいきません。
そのため、切り替え可能なプライマリ・データベースのコピーを用意しておくことで、システム障害や破損からデータを保護するというわけです。
スタンバイ・データベース
一方の“スタンバイ・データベース”とは、端的に言えばプライマリ・データベースのコピーです。
プライマリ・データベースでデータの更新が発生すると、変更履歴であるREDOデータがスタンバイ・データベースへ転送され、変更内容が自動的に適用されることでプライマリ・データベースと同一のデータ状態を実現します。
このようなデータベースの複製があれば、なんらかの理由でプライマリ・データベースが破壊されたとしてもすぐに復旧できるので安心です。
なお先述した通り、スタンバイ・データベースには、さらに2つのタイプがあります。
それぞれの特徴を理解すれば、自社のニーズに合わせて使い分けられます。
次項で詳しくお伝えしますので、引き続きご覧ください。
フィジカル・スタンバイ・データベース
フィジカル・スタンバイ・データベースにおいては、プライマリ・データベースから転送されたREDOを直接適用して同期します。
表や索引のデータだけではなく、データファイルも一致しているので、極めて正確な複製データベースといえます。
このことから、フィジカル・スタンバイ・データベースであれば、プライマリ・データベースに切り替えた時点ですぐに運用を開始できるというわけです。
システムの計画停止の際にはもちろん、予期せぬ障害が発生したとしても、データベースの可用性を損ないません。
また、Active Data Guardというオプションを利用することで、スタンバイ・データベースを参照専用で利用することも可能です。
ロジカル・スタンバイ・データベース
ロジカル・スタンバイ・データベースでは、REDOデータをデータベースの操作に用いられるデータベース言語である“SQL”に変換します。
そのSQLをスタンバイ・データベースに適用して、同一データをもつデータベースを複製するわけです。
SQLを使用することから、ロジカル・スタンバイ・データベースの場合はデータベースの操作が可能です。
たとえば、データの格納先を追加したり、viewやINDEXなどのオブジェクトを作成したりといったことが挙げられます。
自社の大切なデータベースを保護しながら、そのほかの用途にも使用できる点はロジカル・スタンバイ・データベースの利点といえます。
なお、ロジカル・スタンバイ・データベースはプライマリ・データベースの完全なコピーではないため、物理的なバックアップとしては利用できない点に注意してください。
OCI上でのOracle Data Guardの構成を作成する際の事前準備
Oracle Data Guardの概要は、理解できましたか?
ここからは、“OCI”(Oracle Cloud Infrastructure)とよばれる、Oracle社が提供するクラウドサービス上での構成作成に関する、事前準備についてお伝えします。
前提として、“Enterprise Edition以上”が必要ですのであらかじめご確認ください。
また、OCI上で構成する際には3つのパターンがあるため、先んじて解説していきます。
【OCI上でのOracle Data Guardの構成パターン】
構成パターン | 概要 |
同一リージョン内 | メンテナンスやシステム障害に考慮して、スタンバイ・データベースを構築する |
別リージョン間 | メンテナンスやリージョン障害を考慮して、プライマリ・データベースとは別のリージョンにスタンバイ・データベースを構築する |
ハイブリッド | オンプレミスとクラウド間で構築する |
上記の表にある“リージョン”とは、クラウドサービスを提供している企業のデータセンターが設置されているエリアのことを指します。
つまりOracle Data Guardの構築を、エリア内で行うのか、エリアをまたいで行うのかといった点が異なるわけです。
ハイブリッドの場合は、オンプレミスとクラウド間の双方でスタンバイ・データベースを構築します。
OCI上でのOracle Data Guardの構成手順
さて、前提条件の説明が長くなりましたが、ここからは、いよいよOracle Data Guardの構成手順の紹介に移ります。
なお、今回お伝えするのは、“同一リージョン内でのData Guard”の構築手順です。
1.コンソールメニューから、Oracle Database→Oracle Base Database (VM, BM)→DBシステム→DBシステムの詳細→データベース詳細画面の順に遷移します。
2.次にData Guardアソシエーションを選択し、“Data Guardの有効化”ボタンをクリックします。
3.「DBシステム情報」の画面に以下の内容を入力して、「次」ボタンをクリックします。
「DBシステム情報」画面での入力項目
- 表示名
- リージョン
- 可用性ドメイン
- シェイプの構成
- DBシステムの構成
- ネットワーク情報の指定
- Data Guardアソシエーション詳細
- 診断収集
4.「データベース情報」画面でスタンバイ・データベースのパスワードを入力し、「Data Guardの有効化」ボタンをクリックします。スタンバイ・データベースのパスワードはプライマリ・データベースのパスワードと同じものを指定します。
5.プライマリ・データベース側の“Data Guardアソシエーション”画面で、スタンバイ・データベースの構築完了を確認できたら作業終了です。
Oracle Data Guardの切り替えの方法
続いては、Oracle Data Guardにおけるデータベースの切り替え方法について解説します。
スイッチオーバー
データベースの計画停止時に用いられることが多いのが、“スイッチオーバー”です。
これは、スタンバイ・データベースにすべてのREDOを適用した状態で、プライマリ・データベースと切り替える方法です。
一般的に、システムのメンテナンス時に実行されます。
スイッチオーバーではプライマリ・データベースでCOMMITされたすべての変更がスタンバイ・データベースに適用される為、データの消失リスクがなく、安全にデータベースを切り替えられます。
切り替え後は、それまでプライマリ・データベースとして扱っていたものが、新たなスタンバイ・データベースとなり、Oracle Data Guardの構成をそのまま維持できるのです。
フェイルオーバー
フェイルオーバーは、プライマリ・データベースが利用できない状態に陥った場合に、スタンバイ・データベースとの切り替えに用いられる方法です。
この方法を用いる際には、プライマリ・データベースは破損している状態なので、スイッチオーバーとは異なり、スタンバイ・データベースがない構成となります。
フェイルオーバー後も、持続的にOracle Data Guardを利用するためには、再度スタンバイ・データベースを作成して構成をやり直す必要があります。
Oracle Data Guardを活用することで自社のデータベースを保護できる
今回は、Oracle Data Guardの概要と、導入する際の構成手順を解説しました。
Oracle Data Guardでスタンバイ・データベースを作成することで、システム障害やメンテナンス時の計画停止の際にも、データベースの可用性を担保できます。
その際に作成するスタンバイ・データベースにはいくつか種類があるため、自社のニーズに即したものを選択して計画的に運用しましょう。
また、本記事で紹介した構成手順を参考にOracle Data Guardを導入すれば、安心・安全なデータベース管理が叶うはずです。
初めてOracle Data Guardを導入する企業のご担当者様は、データベースのプロ集団であるコーソルにご相談ください。
Oracle製品の導入をサポートして、企業のシステム基盤を支えさせていただきます。