こんにちは。インサイトテクノロジーの松尾です!
本ブログでは、Dbvisit社のブログ “What’s the difference between Oracle RAC and Oracle SE2HA?” を翻訳して紹介いたします。
はじめに
Oracle Database 19cへのアップグレードを計画していますか?19cにアップグレードすると、オラクルのプレミアム・サポートと、パフォーマンス向上・セキュリティ強化・機能拡張に役立つさまざまな新機能をビジネスで利用できるようになります。
すでにご存知かもしれませんが、Oracle 19c Standard Editionでは、Oracle RACによる高可用性環境の構築はサポートされなくなりました。しかし幸いなことに、Oracle Standard Editionで同様の高可用性を実現できるSE2HAへ移行するという方法が存在しています。
本ブログでは、Oracle RACとOracle SE2HAの特徴と違いを説明し、どちらのオプションがあなたのビジネスに適しているかを判断するのに役立つ情報を提供いたします。
Oracle SE2HAとは?
Oracle 19cでは、Standard EditionにおけるRAC(Real Application Clusters)がサポートされなくなり、SE2HA(Standard Edition High Availability)が提供されるようになりました。そのため、フェイルオーバーのためにSE2HAを使用する場合には、追加ライセンスなしで利用することができます。
Oracle SE2HAのアーキテクチャ
Oracle SE2HAの特徴とは?
1. 1ノードでアクティブ(稼働中)なデータベース・シングルインスタンス
データベースはシングルインスタンスで、一度に1つのノードでのみ実行することができます。アクティブなノードに障害が発生した場合、Oracle GridはSE2HAインスタンスを利用可能なパッシブノードへフェイルオーバーします。その後、Oracle Gridはパッシブノードでインスタンスを起動します。
Oracle Gridはこれを実行するためにある程度の時間を必要とし、アプリケーションはすぐに再接続することができません。そのため、アプリケーション側でこの事態に備えておく必要があります。
2. 両方のノードでOracle Gridスタックが常時有効
両方のノードでOracle Gridスタックが常にアクティブな状態になります。データベース・インスタンスはアクティブ/パッシブです。
3. ノードあたりのソケット数制限なし
SE2HAではノードごとのソケット数の制限はありませんが(RACではノードごとに1ソケットの制限)、SE2では16スレッドという一般的な制限が残っています。そのため、SE2HAデータベースがRACで両ノードを使用する場合、32スレッドではなく、最大16スレッドを使用することができます。
4. スタンバイノードにはOracleライセンスが不要
1ノードのハードウェアリソースしか使用できませんが、「10日間フェイルオーバー・ルール」を適用すれば、スタンバイノードにはOracleライセンスが不要になります。詳細については、 オラクル社のブログ をご確認ください。
5. 各ノードでのローカルOracle Homeの使用は不要
1つのインスタンスが2つのノードで動作することがないため、各ノードでローカルのOracleホームを使用し、ASM上にデータベースを保存する必要がなくなりました。
6. 非常に簡単な移行
SE2HAはOracle RACと同じOracle Gridスタックを使用しており、Grid構成もOracle RACと同じであるため、SE2HAへの移行は簡単です。
Oracle RACの特徴とは?
1. Oracle RACは、各ノードにアクティブ(稼働中)なデータベース・インスタンスを持つ
2つのノードのうちどちらかがダウンした場合、残ったノードにある稼働中インスタンスが、アプリケーションからの再接続を即座に受け入れることができます。ユーザーとアプリケーションは一時的に切断されますが、再接続はすぐに行われて通常に戻れるはずです。
2. ノードあたり1ソケットの制限
SE2上のRACでは、1ノードごとに1ソケットの制限があります(ODAを使用する場合を除く)。
3. インスタンスあたりの16スレッドの制限
SE2では、RAC、Single、SE2HAのすべてのタイプのインスタンスで、1インスタンスあたり16スレッドに制限されます。
4. 両ノードのハードウェアリソースを利用可能
両ノードにアプリケーションを接続することで、両ノードの最大32スレッドのハードウェアリソース(インスタンスあたり16スレッド制限)、および両サーバーのメモリを利用することができます。
これは、アプリケーションによっては有利になり、逆に不利になる場合もあります。アプリケーションはRACを意識して設計しないと、2ノードに接続したときにパフォーマンスの問題が発生する可能性があります。
5. Oracle Homeはローカルの各ノードに、データベースは共有ASMストレージに置く
Oracle Homeは各ノードのローカルに置き、データベースは共有ASMストレージに置くのが一般的です。
RACとSE2HAの違いのまとめ
RACとSE2HAを選択する際に役立つように、以下に大まかな比較表を作成しました。
Oracle RACもSE2HAも、同じOracle Gridの構成を使用しています。違いは、データベースのOracle Homeの使用とデータベース構成自体にあるだけです。
大まかに言えば、SE2HAをアクティブ/パッシブクラスタ、RACをアクティブ/アクティブクラスタと呼ぶことができます。
RACの場合、2つのノードのうちどちらかがダウンしても、残ったノードにあるアクティブなインスタンスがすぐにアプリケーションからの再接続を受け入れる準備ができています。一方、SE2HAの場合、Oracle Gridはパッシブノード上のインスタンスを起動しますが、アプリケーションの再接続には数分かかってしまいます。
SE2HAでは、2番目のノードのハードウェアを利用できないため、RACのパフォーマンス上のメリットはなくなりますが、 ノード間のフェイルオーバー機能を保持することができます。 なお、注意点としては、 SE2HAでは「RACの1ノードあたり1ソケット制限」というハードウェアの制限はありません。
ここで、RACもSE2HAもディザスタリカバリ機能は提供していないことにも注意してください。
Oracle社によるこのライセンスの変更は、EEとSE2の市場セグメントに沿ったものです。パフォーマンスを求めるお客様にとっては、EEとそのすべての機能が必要だと想定されるでしょう。一方、Standard Edition(およびSE2HA)は、多くの企業にとって依然として優れた基盤を提供しており、16スレッドでもほとんどのアプリケーションにとって十分すぎるほどのものであるはずです。
ビジネスにとってどちらが優れているか?Oracle RACかOracle SE2HAか?
高可用性環境の構築を検討している場合は、新しいSE2HAの代替品を使用するか、Oracle Enterprise Editionにアップグレードするか、どちらかを選択することができます。
結局のところ、SE2HAがお客様に適しているかどうかは、以下2つの重要かつシンプルな質問に帰結します。
- アプリケーションのデータベーススレッド(アクティブセッション)は16個で十分でしょうか?
- アクティブノードに障害が発生した場合、アプリケーションがパッシブノードへの再接続に数分かかることを許容できますか?
もし、これらの質問に対する答えが「YES」ならば、SE2HAがRACの代替品として考えることが可能です。
おわりに
改めてまとめると、SE2HAは次のような場合にRACの代替品として考えることができます。
- アプリケーションのデータベーススレッド(アクティブセッション)が16個あれば十分であること
- アプリケーションの再接続時間がデータ損失なしで数分かかることも許容できること
災害(停電、人為的ミスなど)が共有ストレージまたは施設全体に影響を与えた場合の対策は十分でしょうか?
本ブログでご紹介したように、RACとSE2HAは同じ機能を提供するものではありません。RACのアップグレードを計画する際には、ディザスタリカバリ計画も改めて見直すことをお勧めします。DRソリューション(StandbyMPなど)は、高速なフェイルオーバー(RTO)、最小限のデータ損失(RPO)、あらゆる災害に対する優れたレジリエンスを提供することが可能です。
こちらの英語ブログ「ディザスタリカバリでOracle SE2HA(またはRAC)クラスタにレジリエンスを追加する(Add resilience to Oracle SE2HA (or RAC) Clusters with Disaster Recovery)」では、DRソリューションの必要性と利点、およびDR機能を使用してSE2HAクラスタを拡張する方法について説明します。興味がある方はぜひご覧ください!
Oracle Standard Editionのためのディザスタリカバリソリューション
インサイトテクノロジーでは、Dbvisit社が提供するOracle Standard Editionで利用可能なディザスタリカバリソリューション Standby MultiPlatform(StandbyMP)を取り扱っています。トライアルも可能ですので、ご興味がある場合は是非お問い合わせください!
それでは次回もお楽しみに!