株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

SIOS Availability Forum 2021「高可用性構成Oracle MAAとOracle SE代替実装」骨子

Oracle ACEの渡部です。2021年5月に開催されたSIOS Availability Forum 2021で渡部が講演したセッション「高可用性構成Oracle MAAとOracle SE代替実装」の骨子をまとめておきます。本セッションが、Oracle SE2における高可用性の実現 に役立てば幸いです。

なお、セッション動画はhttps://mk.sios.jp/BC_saf-entry-2021_bで公開されています。 2021年6月30日までの期間限定のようなので、ご注意くださいませ。

本セッションの概要

Oracle Databaseで高可用性とデータ保護を実現するための参照アーキテクチャとして、オラクル社よりOracle MAA (Oracle Maximum Availability Architecture)が示されています。Oracle MAAの考え方は極めて有用であり、Oracle Databaseのみならず、他RDBMS製品のユーザーにも役立つものです。

しかし、 Oracle MAAの実装はOracle Enterprise Editionおよび有償オプションを使用することが前提であり、Oracle Standard Edition 2にはそのまま実装できません。

このため、本セミナーではOracle MAAの概念を説明したうえで、Oracle MAAの概念をOracle Standard Edition 2で実装する方法を概説します。

なお、議論をシンプルにするため、このセッションでは以下の前提を置いています。

  • Oracle Cloud、Exadata特有の機能は除外
  • Oracle MAAの定義を一部簡略化 (厳密な定義はマニュアルを参照してください)

Oracle MAAとは何か

Oracle MAAとは、Oracle Maximum Availability Architectureの略で、Oracle Databaseで高可用性とデータ保護を実現するための参照アーキテクチャです。

特徴としては、データベース可用性とデータ保護の度合いを、4つのレベルに整理して提示していることがあります。 具体的には、可用性レベル 低い方から順に、ブロンズ → シルバー → ゴールド → プラチナ となっています。

具体的な実装においては、Oracle Database Enterprise Edition+有償オプションを使用することが前提になっています。

詳細は以下をご覧ください。

可用性レベルとコストの相関関係

Oracle MAAに限定されない一般的な議論ですが、高い可用性を求めるほど、それを実現するコストが大きくなります。 よって、すべてのシステムに高い可用性を求めるのはコスト面で非現実的と言えます。

Oracle MAAが、データベース可用性とデータ保護の度合いを、4つのレベルに整理している理由の1つにこれがあると、私は考えています。 ひらたく言うと、

  • 「それぞれのシステムにおいて、本当に必要な可用性レベルを理解し、可用性レベルに応じた高可用性機能を使うことで、コストの最適化を図りましょう」、
  • 「と言っても、ゼロから考えるのはキツイので、大枠として4つのレベルを提供するので、これを参考にしてね!」

ということです。

Oracle MAA 可用性レベルとシステム構成

もう少し、Oracle MAA 可用性レベルについて具体的なイメージを持っていただくために、 Oracle MAA 可用性レベルにおいて想定されるシステムの構成をまとめています。

以下の点を理解してください。

  • 各レベルで実装すべき高可用性機能がリストされています。
  • 上位レベルの高可用性レベルでは、下位レベルの高可用性レベルの高可用性機能を実装していることが基本的な前提です。
  • プラチナレベルは、松竹梅を超えた、お客様のニーズに合わせたスペシャルメニュー的な扱いで、要件に応じて停止時間を極小化する高度な機能を使ってゆきましょう!的な位置づけになっています。
    • 「これがプラチナレベルの典型的な構成だ!」という形になっておらず、他のレベルと並べる形で論じにくいため、本セッションでは、論理レプリケーションに限定して論じています。

Oracle MAAの実装

すでに記載した通り、 Oracle MAAの実装はOracle Enterprise Editionおよび有償オプションを使用することが前提になっています。

この点をりかいしていただくため、以下のスライドでは、マニュアル「ライセンス情報」から、Oracle高可用性機能(の一部)を示しました。

これらのスライドで理解いただきたいのは以下の点です。

  • Oracle Databaseには、多数の高可用性機能があるが、これらの多くはOracle Enterprise Edition限定
  • このため、Oracle SE2で使用可能なコア機能のみで、シルバー以上のOracle MAAを実現するのは一般に困難
  • Oracle SE2の高可用性を実現するには、3rd Partyベンダの高可用性製品を使用する必要がある

Oracle EE RACとOracle SE2のコスト差

もちろん、Oracle Standard Edition 2からOracle Enterprise Editionに移行するのも選択肢の1つですが、 コスト差を考えるとOracle EEの利用は簡単な判断ではありません。

弊社としては、Oracle SE2と3rd Partyベンダの高可用性製品を組み合わせて使用することが適切な策だと考えています。

Oracle SE2でOracle MAAを実現する

以下の表は、高可用性機能ごとに、対応するOracle EEの機能とOracle SE2機能および3rd Party製品をまとめたものです。

以下の機能については、Oracle SE2のコア機能だけでは実現が難しく、3rd Partyベンダの高可用性製品を組み合わせて使用する必要があることが分かります。

  • 人為的データ消失からのデータ復元
  • DBのクラスタ化
  • サブ拠点にスタンバイDB
  • 論理レプリケーション (厳密には、Oracle SE2でもOracle GoldenGateが使用可能ですが、DB本体に比べて非常に高コストになります)

DB再起動の自動化の実現(ブロンズ)

Oracle SE2でDB再起動の自動化を実現するには、Oracle Restartを使用できます。

Oracle Grid Infrastructureを導入し、Oracleインスタンス(常駐部分)を死活監視、想定外停止時の場合は自動で再起動します。 Oracle Databaseのライセンスがあれば、Oracle Grid Infrastructureは無償で利用できます。

遠隔地バックアップの実現(ブロンズ)

Oracle SE2で遠隔地バックアップを実現するには、RMANとRMANバックアップを遠隔地に保管する仕組みを使います。

RMANは、Oracleに標準添付されるバックアップツールです。RMANを用いて、バックアップを取得し、以下のいずれかの手段を用いて、バックアップを遠隔地に保管します。

  • 各種バックアップツール連携
  • Oracle Database Backup Cloud Service
  • ローカルバックアップを遠隔地にリモートコピー
  • など

Oracle SEではEE限定の機能を使用できないため、3rd Party製品の使用を含めた工夫が必要

DB再起動の自動化、遠隔地バックアップについては、Oracle SE2のコア機能をベースに実現できますが、 以下の機能については、Oracle SE2のコア機能だけでは実現が難しく、3rd Partyベンダの高可用性製品を組み合わせる必要があります。

  • 人為的データ消失からのデータ復元
  • DBのクラスタ化
  • サブ拠点にスタンバイDB
  • 論理レプリケーション (厳密には、Oracle SE2でもOracle GoldenGateが使用可能ですが、DB本体に比べて非常に高コストになります)

Oracle SE2のゴールド/プラチナ レベル 高可用性実装イメージ

個別の機能について論じる前に、全体像を示しておきます。

Active-Standby型HAクラスタ(シルバー)

データベースのクラスタ化は、Active-Standby型HAクラスタ構成をとることで実現できます。

データベースサーバーを2台用意し、データベースを共有ディスクに配置することで、 いずれか片方のデータベースサーバーに障害が発生しても、もう1つのデータベースサーバーでインスタンスを起動することで即時に復旧できます。

Active-Standby型HAクラスタ構成の実現方法には主に以下の2つがあります。

  • Oracle SEHA
  • 3rd Partyクラスタソフトウェア(SIOS社LifeKeeeperなど)を使用したHA構成

Oracle SEHAは、原則的にオンプレミス環境で、共有ディスクを用意できる環境で使用できるソリューションであることに注意してください。

パブリッククラウドなど、共有ディスクを用意できない環境の場合、共有ディスクをソフトウェア的にエミュレートするSIOS社DataKeeperなどを使用する必要がでてきます。

サブ拠点にスタンバイDBを構成(ゴールド)

サブ拠点にスタンバイDBを構成するには、Dbvisit Standbyを使用します。

Dbvisit Standbyを使用すると、サブ拠点にスタンバイDBを簡単に構成でき、メイン拠点に障害が発生した場合も、サブ拠点のスタンバイDBをプライマリDBに昇格することで即時復旧可能になります。

Dbvisit Standbyは、プライマリDBで出力されたアーカイブログファイルをスタンバイDBに転送+適用することで、変更をスタンバイDBに同期します。

使いやすい管理コンソールに定評があり、万が一障害発生時にスムーズに障害復旧作業を実行できます。

過去データを履歴として保持(ブロンズ)

Dbvisit Standbyには、スナップショット機能があり、過去データを履歴として保持できます。

特に、スナップショットグループを使うと、スナップショットの取得を自動化できるため、便利です。

なお、Dbvisit Standbyスナップショット機能は、データ保護以外の用途にも使用できます(開発、テスト、データ分析、レポート生成)。

準リアルタイム論理レプリケーション(プラチナ)

準リアルタイム論理レプリケーションは、アップグレード時の停止時間短縮など、様々な用途に使用できます。

弊社では、Oracle SE2向けの論理レプリケーションとして、SharePlex for Oracleをお勧めしています。

  • Oracle GoldenGateと類似した製品
  • Oracle SE2向け 低価格ラインアップがあるため、他社製品よりも圧倒的に低価格

コスト比較については、以下も参考になります。

Oracle GoldenGateのライセンス費用試算とSE2環境におけるコスト削減策

まとめ

  • Oracle MAA (Oracle Maximum Availability Architecture)を参考にシステムを構成することで、 Oracle Databaseの高可用性とデータ保護を実現できます。
  • しかし、 Oracle MAAの実装はOracle Enterprise Editionおよび有償オプションを使用することが前提になっています。
  • 3rd Partyソフトウェア製品を使用することで、Oracle Standard Edition 2でOracle MAAに相当する高可用性とデータ保護を実現できます。

Oracle Databaseに関するご相談はコーソルへ

コーソルはオラクル製品および関連製品を取り扱っています。

  • オラクル製品全般 (Oracle Database, Oracle Cloud, Oracle GoldenGate, Oracle WebLogic Serverなど)
  • SharePlex for Oracle
  • Dbvisit Standby
  • Qlik Replicate
  • SIOS LifeKeeper
  • MaxGuage
  • Toad for Oracle / Toad for SQL Server
  • Spotlight for Oracle / Spotlight for SQL Server
  • Delphix
  • PISO
  • D'amo

これらのオラクル製品および関連製品について、販売・導入・運用を様々な形でご支援します。お困りの際はぜひ弊社にお声がけくださいませ。

コーソルはORACLE MASTER Platinum 累計取得者数4年連続No.1

コーソルからオラクル製品および関連製品をご購入いただけると、ORACLE MASTER Platinum 単年取得者数7年連続No.1、2016年6月以降 累計保持者数No.1という指標に裏付けされた高いOracle Databaseの技術力により、安心して製品を導入いただけます。また、導入後も製品サポートをご提供いたします。

ORACLE MASTER Platinumとは、2日間にわたる実技試験により認定されるOracle Database最高難度の資格です。 グローバルで有効な資格であり、海外では"Oracle Certified Master"と呼ばれます。

ORACLE MASTER Platinumとは何か / コーソルはPlatinum取得者数No.1!

Oracle DatabaseのDBAサービスを提供可能

Oracle Databaseについても製品販売、製品サポート、製品の導入を行います。また、リモート回線経由でスポット的なDBA実務を行うリモートDBAサービス、コンサルティングやベンダコントロールを含めたOracle Databaseプロフェッショナルサービスを時間制で提供する時間制コンサルサービスも提供しています。

非常駐型データベース運用サービス

基幹系DB運用支援および製品サポートについては、3拠点体制による24時間365日対応が可能です。

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ