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 チュートリアル » チュートリアル:スクリプトの作成と同期のモニタリング

 

レッスン 7:Mobile Link モニタによる更新競合の検出

Mobile Link モニタを使用すると、同期が行われたときにその統計情報を収集できます。Mobile Link モニタのグラフィック・チャートでは、水平軸に時間の経過が示され、垂直軸にはタスクが示されます。

Mobile Link モニタを使用することによって、エラーを引き起こしたり、特定の条件を満たす同期を迅速に突き止めることができます。Mobile Link モニタによってパフォーマンスが大幅に低下することはないので、開発時、運用時ともこのモニタを使用することをおすすめします。

この項では、次のことを学習します。

  • Mobile Link モニタを起動し、更新の競合が発生している同期をはっきりと識別できるように設定する。

  • remote1 と remote2 上の同じローを更新して競合を発生させる。

  • Mobile Link モニタを使用して競合を検出する。

♦  更新の競合を検出できるように Mobile Link モニタを設定するには、次の手順に従います。
  1. [スタート] - [プログラム] - [SQL Anywhere 11] - [Mobile Link モニタ] をクリックします。

  2. Mobile Link サーバに接続します。

    1. [ID] タブをクリックします。

    2. [ユーザ] フィールドに monitor_user と入力します。-zu+ オプションを指定して Mobile Link サーバを起動したので、このユーザは自動的に追加されます。

    3. [パスワード] フィールドにパスワードを入力するか、フィールドを空白のままにします。

    4. [データベース] タブをクリックします。

    5. [サーバ名] フィールドに cons と入力します。

    6. [OK] をクリックします。

  3. [ツール] - [ウォッチ・マネージャ] をクリックして、Mobile Link モニタのウォッチ・マネージャを起動します。

  4. 次の手順で、更新の競合をモニタリングする新しいウォッチを追加します。

    1. [新規] をクリックします。

    2. [名前] フィールドに conflict_detected と入力します。

    3. [プロパティ] リストで conflicted_updates をクリックします。

      統計のプロパティ conflicted_updates は、アップロードされた更新のうち、競合が検出された更新の数を示します。

      Mobile Link モニタの統計のプロパティの詳細については、Mobile Link の統計のプロパティを参照してください。

    4. [演算子] リストで [より大] をクリックします。

    5. [値] フィールドに 0 と入力します。

    6. [追加] をクリックします。

    7. [チャート・パターン] リストで、[チャート] ウィンドウ枠のパターンを設定します。[チャート] ウィンドウ枠は、Mobile Link モニタの中央のウィンドウ枠です。

    8. [概要の色] リストで、[概要] ウィンドウ枠の色を指定します。[概要] ウィンドウ枠は、Mobile Link モニタの下部のウィンドウ枠です。

  5. [OK] をクリックします。

  6. [OK] をクリックします。

♦  更新の競合を生成するには、次の手順に従います。
  1. remote1 の在庫数を更新します。

    Screwmaster Drill の最初の在庫数は 10 個で、販売担当者 1 がそのうちの 3 個を販売しました。この担当者は、リモート・データベース remote1 に記録されている在庫数を 7 に更新します。この更新は次の手順で行います。

    1. Interactive SQL を起動します。remote1 にまだ接続していない場合は接続します。

    2. Interactive SQL で次のように実行して、Screwmaster Drill の在庫数を 7 個に更新します。

      UPDATE Product SET quantity = 7
       WHERE name ='Screwmaster Drill'
      COMMIT
  2. remote1 の同期を実行します。

    コマンド・プロンプトで次のコマンドを入力して、Mobile Link 同期クライアントを起動します。

    dbmlsync -c "eng=remote1;uid=DBA;pwd=sql" -v+

    同期が完了すると、統合データベース内の Screwmaster Drill の在庫数は 7 個に更新されます。

  3. remote2 の在庫数を更新します。

    販売担当者 2 は 4 個を販売し、remote2 に記録されている在庫数を 6 に更新します。remote2 の同期が実行されると、競合が検出されます。これは、統合データベース内の在庫数が変更されているためです。この更新は次の手順で行います。

    1. Interactive SQL を起動し、remote2 に接続します。

      コマンド・プロンプトで次のコマンドを入力します。

      dbisql
    2. [ID] タブをクリックします。

    3. [ユーザ ID] フィールドに DBA と入力します。

    4. [パスワード] フィールドに sql と入力します。

    5. [データベース] タブをクリックします。

    6. [サーバ名] フィールドに remote2 と入力します。

    7. [OK] をクリックします。

    8. Interactive SQL で次のように実行して、Screwmaster Drill の在庫数を 6 個に更新します。

      UPDATE Product SET quantity = 6
       WHERE name ='Screwmaster Drill'
      COMMIT
  4. remote2 の同期を実行します。

    • Mobile Link 同期クライアントを起動します。

      コマンド・プロンプトで次のコマンドを入力します。

      dbmlsync -c "eng=remote2;uid=DBA;pwd=sql" -v+

以上の操作が終わると、Mobile Link モニタに切り替えて同期の結果を確認できます。

♦  Mobile Link モニタを使用して更新の競合を検出するには、次の手順に従います。
  1. チャート・スクロールを一時的に停止します。

    [ファイル] - [モニタ] - [チャート・スクロールの一時停止] をクリックします。

  2. Mobile Link モニタの [概要] ウィンドウ枠、[チャート] ウィンドウ枠、[詳細] テーブルを使用して、同期についての統計情報を確認します。

    1. モニタの [概要] ウィンドウ枠 (Mobile Link モニタの下部のウィンドウ枠) で同期を見つけます。更新の競合を発生させた remote2 の同期は、赤で表示されます。

    2. [チャート] ウィンドウ枠で remote2 の同期を表示するには、[概要] ウィンドウ枠内の同期オブジェクトをクリックしてドラッグします。

      conflict_detected ウォッチ用に指定したパターンが適用された状態で、同期オブジェクトが表示されます。

    3. 同期の詳細を確認するには、ズーム・ツールを使用します。

      [表示] - [ズーム・イン] を選択します。

    4. 同期プロパティを表示するには、同期オブジェクトか、詳細テーブル内の対応するローをダブルクリックします。競合が起きている更新の数を確認するには、[アップロード] タブを選択します。

詳細情報

Mobile Link での競合解決の詳細については、競合の解決を参照してください。

Mobile Link モニタの詳細については、Mobile Link モニタを参照してください。

Mobile Link モニタの統計のプロパティの詳細については、Mobile Link の統計のプロパティを参照してください。