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

SQL Anywhere 11.0.1 (日本語) » Mobile Link - クライアント管理 » Mobile Link 用 SQL Anywhere クライアント » SQL Anywhere クライアント » リモート・データベースの作成

 

進行オフセット

進行オフセットは、サブスクリプションのすべての操作がアップロードおよび確認されたところまでの時点を示す整数値です。dbmlsync ユーティリティは、オフセットを使用してどのデータをアップロードするか決定します。リモート・データベースでは、オフセットは SYS.ISYSSYNC システム・テーブルの progress カラムに格納されます。統合データベースでは、オフセットは ml_subscription テーブルの progress カラムに格納されます。

リモートごとに、リモート・データベースと統合データベースが各サブスクリプションに対するオフセットを管理します。Mobile Link ユーザが同期を行うと、その Mobile Link ユーザに関連するすべてのサブスクリプションに対してオフセットが確認されます。これは、その時点でサブスクリプションの同期が取られていない場合でも同様です。このように処理されるのは、複数のパブリケーションに同じデータを含めることができるためです。唯一の例外として、dbmlsync は、アップロードを試みるまでサブスクリプションの進行オフセットをチェックしません。

リモート・データベースのオフセットと統合データベースのオフセットが一致しない場合、デフォルトの動作はリモート・データベースのオフセットを統合データベースの値で更新し、そのオフセットに基づいて新しいアップロードを送信します。ほとんどの場合、このデフォルト動作が適切です。たとえば、統合データベースがバックアップからリストアされ、リモート・トランザクション・ログが変更されていないとき、またはアップロードは成功したが通信エラーによりアップロードの確認が送信されないときに、広く有効です。

進行オフセットが一致しない場合の大部分は、統合進行値を使用することで自動的に解決されます。進行オフセットの問題の修正が必要になることがまれにありますが、この場合は dbmlsync -r オプションを使用できます。

詳細については、-r オプションを参照してください。

最初の同期は常に行われる

新規に作成したサブスクリプションを最初に同期しようとすると、統合データベースの進行オフセットに対するサブスクリプションの進行オフセットはチェックされません。この機能を使用すると、統合データベースで保持されるステータス情報を削除せずに、リモート・データベースを再作成したり同期したりできます。

リモート・データベース・システム・テーブル SYS.ISYSSYNC 内の progress カラムの値が created カラムの値と同じであり、log_sent カラムの値が NULL の場合、dbmlsync ユーティリティは最初の同期を検出します。

ただし、同じアップロードで複数のサブスクリプションを同期し、そのサブスクリプションのいずれかが初めての同期でない場合、初めて同期されるサブスクリプションも含めて、同期対象のすべてのサブスクリプションに関して進行オフセットがチェックされます。たとえば、2 つのパブリケーション (-n pub1,pub2) に関して dbmlsync -n オプションを指定する場合で、pub1 は以前に同期され、pub2 は同期されていないとします。この場合、両方のサブスクリプションの進行オフセットが統合データベースの値に対してチェックされます。

詳細については、次の項を参照してください。