機械翻訳について

Autonomous Databaseでのアプリケーション・コンティニュイティについて

アプリケーション・コンティニュイティ・マスクは、影響を受けるデータベース・セッションで停止後に処理中の作業をリカバリすることで、エンド・ユーザーおよびアプリケーションから停止します。 アプリケーション・コンティニュイティはアプリケーションの下でこのリカバリを実行して、停止が実行遅延としてアプリケーションに表示されます。

アプリケーションは、計画メンテナンス、計画外停止およびデータベースのロード・リバランスがアプリケーションから非表示になると、「継続的な可用性」を実現します。 アプリケーション・コーディングのベスト・プラクティス、アプリケーション継続性構成およびAutonomous Databaseの組合せにより、アプリケーションが継続的に使用可能になります。

計画的なメンテナンス作業をアプリケーションから非表示にするための最善のアプローチは、アプリケーションを透過的にドレインまたはフェイルオーバーすることです。 Oracleの接続プールおよび中間層(WebLogic Server、Oracle Universal Connection Pool (UCP)、OCIセッション・プールおよびODP.NET非管理プロバイダは、高速アプリケーション通知(FAN)に対応しているため、メンテナンス前の作業の正常なドレインを許可するためにAutonomous Databaseでメンテナンスが行われているときに通知されます。 アプリケーション・コンティニュイティは計画メンテナンス中に実行され、事前定義されたドレイン間隔(Autonomous Databaseでは5分)でドレインしないセッションをフェイルオーバーします。

コンポーネント障害または通信障害によって発生した計画外停止を非表示にするために、Oracleでは次のことが提供されています:

  • Notification FANは、停止を非表示にする最初のステップです。 FANは、停止が発生すると、クライアントに通知して現在のネットワークから切断します。 これにより、長いネットワーク待機のアプリケーションが停止するのを回避できます。 Autonomous Databaseの場合、FANはドライバおよびAutonomous Databaseクラウド接続マネージャによって処理されます。

    FAN通知を使用すると、アイドル状態の接続が自動的にトリガーされ、新しいサービス・ロケーションに新しい接続が開かれます。また、アクティブな作業が完了するまでの構成可能な時間が、地理的な独自のサービス・ロケーションで可能になります。 IBM WebSphereなど、主要なサード・パーティJDBCの中間層では、UCPで構成されている場合の動作は同じになります。 UCPを使用できないJDBCベースのアプリケーションの場合、Oracleドライバと接続テストを使用するソリューションがOracle提供されます。 計画メンテナンス用のAutonomous Database FANは帯域内で送信されます。

  • リカバリ。 クライアントが通知されると、Transparent Application Continuity (TAC)またはApplication Continuity (AC)によるフェイルオーバー処理によって、Autonomous Databaseへの接続が再確立され、可能な場合は、処理中のコミットされていない作業をリプレイします。 実行中の作業をリプレイすることで、通常、失敗したことを知らずにアプリケーションは実行を継続できます。

アプリケーションに応じて、次の2つの構成のいずれかで、Autonomous Databaseでアプリケーション・コンティニュイティを有効にします:

  • Application Continuity (AC)

    Application Continuityは、シンJavaベースのアプリケーションの停止、およびNode.jsやPythonなどのオープンソース・ドライバをサポートするOracle Database Oracle Call InterfaceおよびODP.NETベースのアプリケーションを非表示にします。 アプリケーション・コンティニュイティは、セッション状態およびトランザクション状態を含む既知のポイントからセッションをリカバリすることによって、セッションを再作成します。 アプリケーション・コンティニュイティは、処理中のすべての作業を再作成します。 フェイルオーバーが発生した場合、アプリケーションは実行時間がわずかに遅延しますがそのまま続行されます。

  • 透過アプリケーション・コンティニュイティ(TAC)

    Transparent Application Continuity (TAC)は、セッションおよびトランザクションの状態を透過的に追跡および記録するため、リカバリ可能な停止後にデータベース・セッションをリカバリできます。 アプリケーションの知識やアプリケーション・コードの変更を必要とせずにこれが実行され、透過的アプリケーション・コンティニュイティがアプリケーションで有効になります。 アプリケーションの透過性とフェイルオーバーは、アプリケーションがユーザー・コールを発行するときのセッション状態の使用状況を取得して分類する状態追跡情報を使用することによって実現されます。

アプリケーション・コンティニュイティの詳細は、「アプリケーション・コンティニュイティの概要」を参照してください。

ノート:

デフォルトでは、アプリケーション・コンティニュイティはAutonomous Databaseで無効になっています。