アプリケーション高可用性のレベルについて
アプリケーション高可用性の要件に応じて、必要な高可用性(HA)保護のレベルを実装できます。
HA保護レベルは次の表で定義され、前のレベルに基づいて段階的にレベルが高くなります。
HAレベル | 構成 | エクスペリエンス | メリット |
---|---|---|---|
レベル1: 基本的なアプリケーション高可用性 |
データベースまたはセキュリティの管理者:
アプリケーション開発者:
実装作業: 最小 - 管理者の場合は1時間、開発者の場合は1時間未満(そのアプリケーションには接続失敗例外ロジックがすでにコーディングされていると仮定) |
レベル1保護を実装すると、アプリケーションの影響を軽減するアプリケーション + Oracle統合およびインテリジェンスによって、サード・パーティ・アプリケーションのフェイルオーバー・ソリューションと比較して大きなメリットが得られます。
|
アプリケーションが自動的にフェイルオーバーして再接続する(そのアプリケーションに適している場合)高可用性
|
レベル2: 計画メンテナンスに向けたアプリケーションの準備 |
レベル1の構成 + アプリケーション開発者:
開発者の場合のその他の実装作業: Oracle接続プールに関する最小限の作業で数時間(アプリケーション・サーバーでのそれらの作業を含みます。アプリケーション・サーバーを使用しない場合は、アプリケーションの複雑さに応じて最長でも数日間です)。開発者は、アプリケーションで使用されている接続テストを特定する必要があることがあり、場合によってはそれらをデータベース内で新規作成する必要があります。 |
|
ワークロードは、計画メンテナンス中にわずかな遅延とエラーなしでインスタンス間で正常に移動されます。 |
レベル3: 計画外および計画フェイルオーバーのアプリケーションからのマスク |
レベル1および2の構成 + "アプリケーション・コンティニュイティ"ソリューション データベースまたはセキュリティの管理者:
アプリケーション開発者:
追加の実装作業: 保護範囲を確認するために、開発者とデータベース管理者の間の共同作業に数日から数週間(アプリケーションの複雑さに応じて異なります) |
|
アプリケーションから計画外および計画フェイルオーバーをマスクします
|
前の表で説明したすべてのHAレベルは、次の理由から、単一の接続VIPエンドポイントとしてロード・バランサを使用する接続管理のアプローチよりも優れています。
- スマート・サービス・ヘルスおよびインテリジェント再接続: Oracle ClusterwareとOracle Data Guard Brokerは、クラスタおよびデータベースのヘルスと状態を詳細にモニターして、プライマリでオープンされているデータベース・サービスに接続がルーティングされるようにします。
- 透過的および自動的フェイルオーバー: データベースのヘルスを問い合せて、VIPの移動に適したデータベースを決定する必要はありません。表で説明した高可用性アプローチでは、すべてが透過的になります。
- 高速通知および自動的な接続の再試行: すでに接続されているセッションの切断は即時に実施され、Oracle ClusterwareとData Guard Brokerがプライマリおよびスタンバイ・データベースで停止またはロールの変更を検出したときにはインテリジェントに実施されます。
用語
このドキュメント全体を通じて次の用語が使用されています。
-
アプリケーション・コンティニュイティ: アプリケーション・コンティニュイティは、計画イベントと計画外イベントについてデータベース・レベルで中断をマスクするOracle Database機能であり、Oracle Databaseに依存するアプリケーションのフォルト・トレランスを高めます。
- 透過的アプリケーション・コンティニュイティ(TAC): Oracle Database 18cで導入され、Oracle Database 19cおよび23aiで拡張されました。Oracle接続プールを使用しないアプリケーション構成にまでサポートが拡張されています(ただし、これらは引き続き推奨ソリューションです)。
-
ドレイン: あるOracle Real Application Clusters (RAC)インスタンスから別の使用可能なOracle RACインスタンスに接続を移動します。
あるインスタンスから別のインスタンスに正常にセッションを移動するためのドレインは、計画メンテナンス中および負荷のリバランス中に使用されます。接続は、アプリケーションがプールに接続を返却した後に新しい接続を取得するときや、別のルールが満たされたときに移動されます。
-
フェイルオーバー: サービスを提供する新しいインスタンスで同等のセッションを再確立します。
フェイルオーバーは、計画外停止中および計画メンテナンス中に、割り当てられた期間内にセッションがドレインされない場合に発生します。アプリケーション・コンティニュイティが構成されている場合は、アプリケーションがエラーを受信することはありません。
- 高速アプリケーション通知(FAN): FANは、障害発生直後のTCP/IPタイムアウトからクライアントを解放するために欠かせないものです。FANは、リソースを使用できるようになるとただちにクライアントに通知し、計画メンテナンス中の停止がクライアントで認識されないようにデータベース・セッションのドレインを開始します。また、FANには構成レベルの情報とサービス・レベルの情報の通知も含まれています。この情報には、サービス・ステータスの変化が含まれます。
- Oracle Notification Service (ONS): クラスタ・イベントを処理用や応答用のアプリケーション・ロジックに転送するために、中間層のサーバーまたはアプリケーションに仲介する機能です。
ソフトウェアの推奨事項
HAレベルの構成に推奨のソフトウェアは次のとおりです。
- Oracle Real Application Clusters (Oracle RAC)およびOracle Clusterware (効率的な停止の管理のためのサービスおよびインフラストラクチャを提供します)。Oracle Grid Infrastructure (GI)リリース19c以降の使用をお薦めします
- Oracle Active Data Guardは、データベース、クラスタ、ストレージまたはサイトの障害から保護するためにお薦めです。
- Oracle Database 19cのクライアントとデータベース、またはそれ以降の長期サポート・バージョン(最新のパッチ・レベルが適用されたもの)