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

 

レッスン 2:SQL Anywhere リモート・データベースの設定

Mobile Link は、統合データベース・サーバと多数のモバイル・データベースとの間で同期を実行できるように設計されています。この項では、リモート・データベースを 2 つ作成します。データベースごとに次の作業を行う必要があります。

  • 統合スキーマ内の特定部分の移行

  • 同期パブリケーション、同期ユーザ、同期サブスクリプションの作成

SQL Anywhere データベースの作成

レッスン 1 では、Sybase Central を使用してデータベースを作成しました。ここでは、コマンド・ライン・ユーティリティを使用します。この 2 つのツールのどちらを使用しても結果は同じです。

♦  SQL Anywhere リモート・データベースを作成して起動するには、次の手順に従います。
  1. コマンド・プロンプトで、リモート・データベースを作成するディレクトリに移動します。

  2. 次のコマンドを入力して、データベースを作成します。

    dbinit -p 4096 remote1.db

    次のように入力して、remote2 も起動します。

    dbinit -p 4096 remote2.db

    ここでは、-p オプションを使用してページ・サイズを 4K に設定しています。このサイズに設定すると、多くの環境でパフォーマンスが向上します。

    dbinit のオプションの詳細については、初期化ユーティリティ (dbinit)を参照してください。

  3. 次のように入力してデータベースを起動します。

    dbeng11 remote1.db

    次のように入力して、remote2 も起動します。

    dbeng11 remote2.db
統合データベース・スキーマのサブセットの移行

統合データベース・スキーマのサブセットを移行するには、次の作業を行う必要があります。

  • リモート・データベースへの接続

  • リモート・サーバと外部ログインの作成

  • Sybase Central のデータベース移行ウィザードの使用

♦  統合データベース・スキーマのサブセットを remote1 に移行するには、次の手順に従います。
  1. [スタート] - [プログラム] - [SQL Anywhere 11] - [Sybase Central] をクリックします

  2. 次の手順でリモート・データベースに接続します。

    1. 左ウィンドウ枠で、[SQL Anywhere 11] をクリックします。

    2. [ファイル] - [接続] をクリックします。

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

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

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

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

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

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

  3. 次の手順でリモート・サーバを作成します。

    1. 左ウィンドウ枠で [リモート・サーバ] を右クリックし、[新規] - [リモート・サーバ] を選択します。

    2. [新しいリモート・サーバの名前を指定してください。] フィールドに my_sa と入力します。[次へ] をクリックします。

    3. [SQL Anywhere] をクリックします。[次へ] をクリックします。

    4. [接続情報を指定してください。] フィールドに sa_cons と入力します。[次へ] をクリックします。

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

    6. [現在のユーザの外部ログインを作成する] をクリックします。

    7. [ログイン名] フィールドに DBA と入力します。

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

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

    10. [完了] をクリックします。

  4. 次の手順で統合データベース・スキーマを移行します。

    1. [ツール] - [SQL Anywhere 11] - [データベースの移行] をクリックします。

    2. [次へ] をクリックします。

    3. [移行先のデータベースを指定してください。] リストで remote1 を選択します。[次へ] をクリックします。

    4. [移行元のリモート・サーバを指定してください。] リストで my_sa を選択します。[次へ] をクリックします。

    5. [使用可能なテーブル] リストで Product を選択し、[追加] をクリックします。[次へ] をクリックします。

    6. [DBA] をクリックします。[次へ] をクリックします。

    7. [データの移行] をオフにします。[完了] をクリックします。

    8. [閉じる] をクリックします。

  5. remote2 データベースを使用して手順 2 ~ 4 を繰り返します。

同期サブスクリプションとパブリケーション

パブリケーションは、リモート・データベース上の同期対象となるテーブルとカラムを識別します。これらのテーブルとカラムをアーティクルと呼びます。同期サブスクリプションは、パブリケーションに対する Mobile Link ユーザのサブスクリプションです。

同期サブスクリプションとパブリケーションはリモート・データベースに格納されます。

♦  リモートの同期パブリケーション、同期ユーザ、同期サブスクリプションを作成するには、次の手順に従います。
  1. Sybase Central の左ウィンドウ枠で、remote1 - DBA を右クリックし、[ファイル] - [Interactive SQL を開く] を選択します。

  2. 次の手順で remote1 の同期情報を入力します。

    • Interactive SQL で次のコードを実行します。

      CREATE PUBLICATION pub_1 (TABLE Product);
      CREATE SYNCHRONIZATION USER user_1;
      CREATE SYNCHRONIZATION SUBSCRIPTION TO pub_1
       FOR user_1 TYPE TCPIP ADDRESS 'host=localhost'
       OPTION scriptversion='ver1';
  3. Interactive SQL を起動し、remote2 に接続します。

  4. 次の手順で remote2 の同期情報を入力します。

    • Interactive SQL で次のコードを実行します。

      CREATE PUBLICATION pub_2 (TABLE Product);
      CREATE SYNCHRONIZATION USER user_2;
      CREATE SYNCHRONIZATION SUBSCRIPTION TO pub_2
       FOR user_2 TYPE TCPIP ADDRESS 'host=localhost'
       OPTION scriptversion='ver1';

これで、リモート・データベースと統合データベースの準備が完了しました。次のレッスンでは、同期スクリプトを作成します。レッスン 4 では同期を実行します。

詳細情報

パブリケーションとサブスクリプションの定義方法の詳細については、データのパブリッシュを参照してください。