スタートアップガイド:レプリケーション
環境構築1:データベースファイル全般
テーブル名 / テーブルオカレンス名 / フィールド名
リレーションシップグラフ上で設定されるテーブルオカレンス名については、FileMaker Server 10 - 11、 FileMaker Server 12 - 13のいずれの場合も、残念ながら日本語を使用することができません。日本語を使用したテーブルオカレンスがある場合は、以下のいずれかをお試しください。
- 方法1
- すべてのテーブルオカレンス名をアルファベットの名前に変更する。
- 方法2
- 日本語の使われているすべてのテーブルオカレンス名の先頭にアルファベットの文字列を追加する (例:「顧客」 -> 「A_顧客」)
- 各テーブルにつき1つずつ新規にテーブルオカレンスを作成し、すべてアルファベットの名前をつける(例:「A_顧客」を複製し、「KOKYAKU」に名前を変更します)作成したテーブルオカレンスは、リレーションシップ設定のない単独の状態で存在していればよく、 レイアウト等に割り当てられている必要もありません。
※1が最も確実ですが、2の方法でも動作する場合があります。
テーブル名については、FileMaker Server 10 - 11 の場合は日本語でも問題ありません。FileMakerServer 12 - 13の場合は、アルファベットである必要があります。 フィールド名については、いずれのバージョンのFileMaker Serverでも日本語で問題ありません。
アクセス権セット
[完全アクセス]アクセス権セットに、[fmxdbc]拡張アクセス権が必要です。
※SyncDeK Serverによるデータレプリケーションで使用されます。
アカウント
すべてのデータベースに以下のアカウントが必要です。
アカウント名: SyncDeK
パスワード: (任意のパスワードを入力してください)
アクセス権セット: [完全アクセス]
※SyncDeK Serverによるデータレプリケーションで使用されます。
フィールド
以下のフィールドが同期対象のすべてのテーブルに必要です。
※SyncDeK Serverによるデータレプリケーションで使用されます。
1. SyncDeK-Enable-FMP.fmp12 をダウンロードします。
2. データベースの管理ダイアログボックスを開いて下記6つフィールドをコピーし、同期対象のすべてのテーブルにペーストします。
- SyncDeK_ModTime
- SyncDeK_RecId
- SyncDeK_Modifier
- SyncDeK_pubFlag
- SyncDeK_ModDateTime
- SyncDeK_SerialIncrement
ファイル構成
複製サーバ上でお使いのファイルのコピーをホストする必要があります。 このファイルは本番サーバ上で公開されるファイルとまったく同じもので、SyncDeK Serverにより常に監視されます。
SyncDeK Serverは10秒ごとに監視を行い、本番サーバ上のデータベースが更新されると、複製サーバのファイルに同じ情報を書き込むことで、常にデータが同じ状態になるよう保たれます。
SyncDeK Serverによる監視を開始した際に、少しでも両者(本番サーバのファイルと複製サーバのファイル)に差異があるとレプリケーションが正しく動作しない場合があります。監視を開始する際には、必ず両者がデータを含めまったく同じ状態であるように注意してください。
SyncDeK Serverによる監視を開始する直前に、本番サーバのファイルを複製サーバに転送した上で公開するという方法がもっとも確実と思われます。
環境構築3:SyncDeK Serverのセットアップ
Javaのインストール
- 以下のURLから、Javaの最新版をダウンロードし、インストールします。
http://java.com
※2014年5月現在、SyncDeK 9.1.0 を動作させるためには、Java 7 update 51 以降が必要です。 Java 6 では SyncDeK 9.1.0 は動作しません。
SyncDeK Serverのインストール
- 以下のURLから、SyncDeK Serverをダウンロードします。
http://worldsync.com/LB_download_SD/
※「SyncDeK 9.1.0 Engine Installer」のうち、運用環境に合うものをダウンロードしてください。 - SyncDeK運用サーバでインストールします。1でダウンロードしたインストーラをSyncDeK運用サーバに転送し、インストーラを起動します。
- Winの場合:「Select Installation Components」で「SyncDeK Network Engine」を選択してインストールします。
- Macの場合:「カスタムインストール」で「SQL」を選択してインストールします。
SyncDeK Serverの初期セットアップ
- SyncDeK Serverをインストールしたマシン上で、以下のURLにアクセスします。
http://localhost:9779
※別のマシンからこのホストのIPアドレスを指定してアクセスすることもできます。 - ページ左下のギアアイコンから「Register SyncDeK Developer」を選びます。
- 「Reg Key:」に「製品情報のお知らせ」メールに記載の SyncDeK Developer 9 ライセンスを入力し、「Continue」をクリックします 。
- ページ左下のギアアイコンから「Install SyncDeK Server」を選びます。
以下の情報を入力し、「Continue」をクリックします。
License Key: 「製品情報のお知らせ」メールに記載の SyncDeK Server 9 ライセンス
Port: 9769(そのまま)
Old Password: (空欄のまま)
New Password: (任意のパスワードを入力してください)
Confirm Password: (任意のパスワードを入力してください)
SyncDeK Serverのレプリケーションセットアップ
- SyncDeK Serverをインストールしたマシン上で、以下のURLにアクセスします。
http://localhost:9779/
※別のマシンからこのホストのIPアドレスを指定してアクセスすることもできます。 - ページ左下の「+」アイコンから「New Solution」を選びます。
- 「Solution ID:」に任意のソリューション名を入力し、「Continue」をクリックします。
- ソリューション設定ダイアログで「Data Replication」をクリックします。
- 「Configure Sync Behavior」ダイアログが開きます。
※こちらは、本番サーバ側の設定になります。 - 「Switches」タブでは、「Publish」と「Upload」のみチェックします。
「SyncDeK Server」タブでは、以下のように設定します。
Sync Server Host: localhost
Sync Server Port: 9769(そのまま)
「Community」タブでは、「Perform Action:」プルダウンから「Add Licensed Community Members」を選びます。
- 「Add Licensed Community Members」ダイアログで、「製品情報のお知らせ」メールに添付された.txtファイルを選択し、「Continue」をクリックします。
- 「Community」タブで、1行目(「Node1」になっているはずです)の「My Node」を有効にし、「Continue」をクリックします。
※「Node Id」や「Node Prefix」はそのままにしておきます。 - ソリューション設定ダイアログに戻ります。
「Services」タブの「Process Automation」で、以下のように設定します。
Continuous: チェックします
Wait 300 seconds ←「300」を「10」に書き換えます
Auto-Start: チェックなし(そのまま)
Logging Level: テスト中のみ「INFO」「FINE」「DEBUG」を使用し、運用開始後は「WARNING」や「ERROR」にしておきましょう。「INFO」のまま運用すると、不要なログがディスクを圧迫する可能性があります。
「Datasource」タブで、以下のように設定します。
Database Type: (同期対象のデータベースの種類)
Query type: PUBFLAG
Database Host: (本番サーバのIPアドレス or DNS名)
Login Account: SyncDeK
Login Password: (環境構築1で設定したSuncDeKアカウントのパスワード)
Database Name: (データベース名)
- 「Table Filters」タブで、すべてデフォルトのままにしておきます。
※同期対象テーブルにオブジェクトフィールドがある場合は、「Include binary fields」にチェックを入れてください。
- 「Tables」タブで、「Perform Action:」プルダウンから「Rebuild Table Profiles」を選びます。
- 問題なくテーブル構成が読み込まれたら、「Continue」をクリックします。
※「SyncDeK_pubFlag」などのSyncDeK用フィールドを持たないテーブルは対象外になっています。
これで、本番サーバ側の設定が完了しました。
以下は、複製サーバ側の設定です。
- ページ左下の「+」アイコンから「Install Sync Node From SyncDeK Server」を選びます。
「New Node From SyncDeK Server」ダイアログで、以下のように入力し、「Continue」をクリックします。
Sync Server Host: localhost
Server Port: 9769(そのまま)
Solution ID: (任意のIDを入力してください)
Node ID: Auto-Assign(そのまま)
Database Host: (複製サーバのIPアドレス or DNS名)
Database Type: (同期対象のデータベースの種類)
Query Type: PUBFLAG
Dynamic Subscription: オフ
Database Connection: オン
Database Name: データベース名
Login Account: SyncDeK
Login Password: (環境構築1で設定したSuncDeKアカウントのパスワード)
以下、複製サーバの追加設定を行います。
- ページ左側の「<<設定したSolution ID>>」以下の「FMP13@複製サーバ」をクリックします。
- ページ上部のアイコン左端の「Edit Settings」ボタン(鉛筆アイコン)がグレーアウトしていたら、「Unload Settings」ボタン(コネクタが外れた状態のアイコン)をクリックしてアクティブにします。
- 「Edit Settings」ボタン(鉛筆アイコン)をクリックして、ソリューション設定ダイアログを表示します。
- 「Services」タブの「Data Replication」の「Configure」ボタンをクリックします。
- 「Switches」タブでは、「Download」と「Ingest」、「Subscribe」のみチェックし、他はすべて チェックを外してから「Continue」をクリックします。
「Services」タブの「Process Automation」で、以下のように設定します。
Continuous: チェックします
Wait 300 seconds ←「300」を「10」に書き換えます
Auto-Start: チェックなし(そのまま)
- 問題なくテーブル構成が読み込まれたら、「Continue」をクリックします。
これで、複製サーバ側の設定も完了しました。
以上でSyncDeK Serverのレプリケーションセットアップは終了です。
SyncDeK Serverの稼働
- ページ左側の「<<設定したSolution ID>>」以下の「FMPxx@複製サーバ」をクリックします。
- ページ上部のアイコンから、「Load Settings」ボタン(コネクタが接続された状態のアイコン)をクリックします。
- あらためてページ左側の「<<設定したSolution ID>>」以下の「FMPxx@複製サーバ」をクリックします。
- ページ上部のアイコンから、「Run Services」ボタン(緑の再生マーク)をクリックします。
- ページ左側の「<<設定したSolution ID>>」以下の「FMPxx@本番サーバのIPアドレス_DevNode」をクリックします。
- 2~4と同様に、Load SettingsとRun Servicesを行います。
以上でSyncDeK Serverが稼働しているはずです。
SyncDeK Serverのキャッシュクリア
- ページ左側の「<<設定したSolution ID>>」以下の「FMPxx@複製サーバ」をクリックします
- ページ上部のアイコンから、「Stop Services」ボタン(赤の「X」マーク)をクリックします
- あらためてページ左側の「<<設定したSolution ID>>」以下の「FMPxx@複製サーバ」をクリックします
- ページ上部のアイコンから、「Unload Settings」ボタン(コネクタが切り離された状態のアイコン)をクリックします
- 「Cache Db」タブを開き、「Cache Actions」プルダウンから「Rebuild Cache」を選びます
- ページ左側の「<<設定したSolution ID>>」以下の「FMPxx@本番サーバのIPアドレス_DevNode」をクリックします
- 2-5と同様に、Stop ServicesとUnload SettingsおよびRebuild Cacheを行います
- ページ左側の「<<設定したSolution ID>>」以下の「SyncDeK Server」をクリックします
- 2-5と同様に、Stop ServicesとUnload SettingsおよびRebuild Cacheを行います
SyncDeK Serverの再セットアップ
- ページ左側の「<<設定したSolution ID>>」以下の「FMPxx@複製サーバ」をクリックします
- ページ上部のアイコンから、「Stop Services」ボタン(赤の「X」マーク)をクリックします
- あらためてページ左側の「<<設定したSolution ID>>」以下の「FMPxx@複製サーバ」をクリックします
- ページ上部のアイコンから、「Unload Settings」ボタン(コネクタが切り離された状態のアイコン)をクリックします
- ページ左下の「-」アイコンをクリックして、「FMPxx@複製サーバ」を削除します
- ページ左側の「<<設定したSolution ID>>」以下の「FMPxx@本番サーバのIPアドレス_DevNode」をクリックします
- 2-5と同様に、Stop ServicesとUnload Settingsおよびノードの削除を行います
- ページ左側の「<<設定したSolution ID>>」以下の「SyncDeK Server」をクリックします
- 2-5と同様に、Stop ServicesとUnload Settingsおよびノードの削除を行います
- 本ドキュメントの「SyncDeK Serverの初期セットアップ」および「SyncDeK Serverのレプリケー ションセットアップ」を再度行います
SyncDeK Serverの再起動
- SyncDeK運用サーバで「サービス」ユーティリティを起動します
- SyncDeK Serverサービスを停止します
- SyncDeK Serverサービスを開始します