Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Remote » SQL Remote の配備と管理 » SQL Remote の管理

 

保証されたメッセージ配信システムの概要

保証されたメッセージ配信システムでは、次のことが保証されます。

保証されたメッセージ配信システムでは、次の情報が使用されます。

  • SYSREMOTEUSER システム・テーブルで管理されているステータス情報   このテーブルには各サブスクライバに対応したローがあり、そこにはそのサブスクライバが送受信するメッセージのステータス情報が示されています。次に例を示します。

    • 統合データベースでは、SYSREMOTEUSER システム・テーブルに各リモート・ユーザに対応したローがある。

    • 各リモート・データベースでは、SYSREMOTEUSER システム・テーブルに統合データベースの情報を含むローが 1 つある。

    SYSREMOTEUSER システム・テーブルは、Message Agent (dbremote) が管理しています。

    サブスクライバ・データベースでは、Message Agent (dbremote) はパブリッシャ・データベースに確認メッセージを送信し、サブスクリプションの最後で SYSREMOTEUSER システム・テーブルが正しく管理されていることを確認します。

    ISYSREMOTEUSER システム・テーブルを参照してください。

  • メッセージのヘッダ内の情報   Message Agent (dbremote) は、メッセージ内のヘッダ情報を読み込み、この情報を使用して SYSREMOTEUSER システム・テーブルを更新します。各メッセージのヘッダには、次の情報が含まれています。

    • メッセージの resend_count   データベースがメッセージを失った受信の回数を追跡するカウンタ。

      次の例では、resend_count は 1 です。

      Current message's header: (「1」-0000942712-0001119170-0)

    • 前のメッセージの最後の COMMIT のトランザクション・ログ・オフセット   次の例では、前のメッセージの最後のコミットのトランザクション・ログ・オフセットは、0000942712 です。
      Previous message's header:(0-0000923357-「0000942712」-0)
      Current message's header: (0-「0000942712」-0001119170-0)

    • 現在のメッセージの最後の COMMIT のトランザクション・ログ・オフセット   次の例では、現在のメッセージの最後のコミットは、0001119170 です。
      Current message's header: (0-0000942712-「0001119170」-0)

      トランザクションがいくつかのメッセージにわたっている場合は、両方のトランザクション・ログ・オフセットは、最後のメッセージに COMMIT が含まれるまで同じになることがあります。

      次の例では、4 番目のメッセージまで COMMIT は発生していません。

      (0-「0000942712」-「0000942712」-0)
      (0-「0000942712」-「0000942712」-1)
      (0-「0000942712」-「0000942712」-2)
      (0-0000942712-0001119170-3)

    • シーケンス番号   トランザクションがいくつかのメッセージにわたっている場合は、メッセージを正しい順序で並べるために、このシーケンス番号が使用されます。

      シーケンス番号 0 は、次のことを示す場合があります。

      • トランザクション・ログ・オフセットが異なる場合、メッセージはマルチパートのメッセージの一部ではない。

        次の例では、メッセージはマルチパートのメッセージの一部ではありません。

        「
        (0-0000923200-0000923357-「0」)
        (0-0000923357-0000942712-「0」)」
        
      • トランザクション・ログ・オフセットが同一の場合、メッセージはマルチパートのメッセージの最初のメッセージである。

        次の例では、最初のメッセージはマルチパートのメッセージの一部です。

        「(0-0000942712-0000942712-「0」)」
        (0-0000942712-「0000942712」-「1」)
        (0-0000942712-0000942712-「2」)
        (0-0000942712-0001119170-「3」)


正しい順序でのオペレーション適用の確保
消失または壊れたメッセージの再送
一度かぎりのメッセージ適用の確保