Autonomous AI Databaseでのアプリケーション・コンティニュイティについて
アプリケーション・コンティニュイティ・マスクは、影響を受けるデータベース・セッションで停止後に処理中の作業をリカバリすることで、エンド・ユーザーおよびアプリケーションから停止します。 アプリケーション・コンティニュイティはアプリケーションの下でこのリカバリを実行して、停止が実行遅延としてアプリケーションに表示されます。
アプリケーションは、計画メンテナンス、計画外停止およびデータベースのロード・リバランスがアプリケーションから非表示になると、「継続的な可用性」を実現します。 アプリケーション・コーディングのベストプラクティス、アプリケーション継続性構成、およびAutonomous AI Databaseを組み合わせることで、アプリケーションを継続的に利用できるようになります。
計画的なメンテナンス作業をアプリケーションから非表示にするための最善のアプローチは、アプリケーションを透過的にドレインまたはフェイルオーバーすることです。 Oracleの接続プールおよび中間層(WebLogicサーバー、Oracle Universal Connection Pool (UCP)、OCIセッション・プールおよびODP.NET管理対象外プロバイダを含む)は高速アプリケーション通知(FAN)を認識するため、Autonomous AI Databaseでメンテナンスが進行しているときに通知されるため、メンテナンス前に作業を適切に排出できます。 アプリケーション・コンティニュイティは、計画メンテナンス中に実行され、事前定義された排出間隔(Autonomous AI Databaseでは5分)で排出されないセッションをフェイルオーバーします。
コンポーネント障害または通信障害によって発生した計画外停止を非表示にするために、Oracleでは次のことが提供されています:
-
Notification FANは、停止を非表示にする最初のステップです。 FANは、停止が発生すると、クライアントに通知して現在のネットワークから切断します。 これにより、長いネットワーク待機のアプリケーションが停止するのを回避できます。 Autonomous AI Databaseの場合、FANはドライバおよびAutonomous AI Databaseクラウド接続マネージャによって処理されます。
FAN通知を使用すると、アイドル状態の接続が自動的にトリガーされ、新しいサービス・ロケーションに新しい接続が開かれます。また、アクティブな作業が完了するまでの構成可能な時間が、地理的な独自のサービス・ロケーションで可能になります。 IBM WebSphereなど、主要なサード・パーティJDBCの中間層では、UCPで構成されている場合の動作は同じになります。 UCPを使用できないJDBCベースのアプリケーションの場合、Oracleドライバと接続テストを使用するソリューションがOracle提供されます。 Autonomous AI Databaseでは、計画メンテナンスのFANが帯域内で送信されます。
-
リカバリ。 クライアントに通知されると、透過的アプリケーション・コンティニュイティ(TAC)またはアプリケーション・コンティニュイティ(AC)を使用したフェイルオーバー処理によってAutonomous AI Databaseへの接続が再確立され、可能な場合は実行中、コミットされていない作業がリプレイされます。 実行中の作業をリプレイすることで、通常、失敗したことを知らずにアプリケーションは実行を継続できます。
アプリケーションに応じて、2つの構成のいずれかでAutonomous AI Databaseでアプリケーション・コンティニュイティを有効にします:
-
Application Continuity (AC)
Application Continuityは、シンJavaベースのアプリケーションの停止、およびNode.jsやPythonなどのオープンソース・ドライバをサポートするOracle Database Oracle Call InterfaceおよびODP.NETベースのアプリケーションを非表示にします。 アプリケーション・コンティニュイティは、セッション状態およびトランザクション状態を含む既知のポイントからセッションをリカバリすることによって、セッションを再作成します。 アプリケーション・コンティニュイティは、処理中のすべての作業を再作成します。 フェイルオーバーが発生した場合、アプリケーションは実行時間がわずかに遅延しますがそのまま続行されます。
-
透過アプリケーション・コンティニュイティ(TAC)
Transparent Application Continuity (TAC)は、セッションおよびトランザクションの状態を透過的に追跡および記録するため、リカバリ可能な停止後にデータベース・セッションをリカバリできます。 アプリケーションの知識やアプリケーション・コードの変更を必要とせずにこれが実行され、透過的アプリケーション・コンティニュイティがアプリケーションで有効になります。 アプリケーションの透過性とフェイルオーバーは、アプリケーションがユーザー・コールを発行するときのセッション状態の使用状況を取得して分類する状態追跡情報を使用することによって実現されます。
アプリケーション・コンティニュイティの詳細は、「アプリケーション・コンティニュイティの概要」を参照してください。
ノート:
デフォルトでは、アプリケーション・コンティニュイティはAutonomous AI Databaseで無効になっています。