ここまでは、サーバー機が1台、つまりいわゆるシングルサーバーでも利用できる機能を中心に紹介してきた。今回の第5回と次回の第6回では、データベースサーバーを構成するための機能である、高可用性構成とクラスター構成を実施する際の機能を取り上げる。まず今回は、高可用性構成を実現する機能について紹介していこう。

 東日本大震災をきっかけに、情報システムの災害対策を強化する企業、団体、政府が増えている。災害対策としては例えば、データベースの複製を遠隔地に配置しデータを同期させるという手法がある。これにより、もしある地域のシステムがダウンした場合でも、接続先のデータベースを別の地域のものに切り替えることで、業務を継続できる。また、こうした仕組みを設けておくことで、メンテナンスなど計画停止の際にもシステムの停止の必要がなくなるため、業務上の利便性が高まる。

 Oracleデータベースでは従来からこのような災害対策に対応するために、可用性を高めるための機能、つまり高可用性構成を実施するための機能を提供してきた。新バージョンであるOracle Database 12cでは、従来提供していた機能に加えて、大きく二つの新機能を提供している。一つは、災害対策サイトにデータを転送する際に起きうるデータ損失と処理性能の低下を改善する機能。もう一つは、データ保全のために複数サイトに置かれたデータベースサーバーをより効率的に利用する機能だ。

従来の災害対策サイトにおける課題

 Oracleデータベースでは、災害対策および高可用性構成を実施するための機能として「Oracle Data Guard(以下、Data Guard)」を提供している。まずは、Data Guardの概要を押さえつつ、前バージョンであるOracle Database 11g Release2までのData Guardの特徴と課題について説明する。

 Data Guardでデータベースサーバーを構成する際には、一つの本番データベース(プライマリデータベース)とその複製となる一つ以上のスタンバイデータベースで構成する。

 同期の仕組みは次のようなものである。プライマリデータベースでデータが更新されると、REDOデータと呼ばれる変更情報のデータだけがスタンバイデータベースに自動的に転送される。スタンバイデータベースは受信したREDOデータを使って、自身のデータを更新する。これにより、プライマリデータベースと同じデータの保持を実現している。

 このようにData Guardでは、データベースのログに基づく差分情報だけを、複製サイトに転送して同期する。そのため、ストレージの機能によるミラーリングと比較すると、ネットワークの使用帯域幅を抑えることができる。データ転送量が少ないので、低速な回線で結ばれた拠点間でバックアップを取る場合にも使いやすいというメリットがある。

 またData Guardでは、プライマリデータベースからスタンバイデータベースへのREDOデータの転送方法として、同期REDO転送モード(以下、同期転送)と非同期REDO転送モード(以下、非同期転送)を提供している。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。